使用Asp.net C#动态创建XML. [英] Create XML Dynamically using Asp.net C#.

查看:78
本文介绍了使用Asp.net C#动态创建XML.的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

大家好.我需要创建一个像这样的xml文件..

 <   HEDDERS  > ; 
  <   HEDDER  > 
    <   ID  >  1 <  /ID  > 
    <  名称 >  ID <  /名称 > 
  <  /HEDDER  > 
  <   HEDDER  > 
    <   ID  >  6 <  /ID  > 
    <  名称 >  STATE <  /名称 > 
  <  /HEDDER  > 
  <   HEDDER  > 
    <   ID  >  7 <  /ID  > 
    <  名称 >  PIN <  /名称 > 
  <  /HEDDER  > 

<  /HEDDERS  >   pre> 


我使用这样的代码..

 XmlDocument docConfig = new XmlDocument();
       XmlNode xmlNode = docConfig.CreateNode(XmlNodeType.XmlDeclaration,",");
       XmlElement rootElement = docConfig.CreateElement("HEDDERS");
       docConfig.AppendChild(rootElement);
       for(int i = 10; i <     20;     i ++) 
 
                   span>  { 
 
                   span>       // 创建   < InstallationId  > 节点
           XmlElement installationElement = docConfig.CreateElement("ID");
           XmlText installationIdText = docConfig.CreateTextNode(Convert.ToString(i));
           installationElement.AppendChild(installationIdText);
           docConfig.ChildNodes.Item(0).AppendChild(installationElement);

           //创建<  环境 > 节点
           XmlElement environmentElement = docConfig.CreateElement("NAME");
           XmlText environText = docConfig.CreateTextNode("ABC" + i);
           environmentElement.AppendChild(environText);
           docConfig.ChildNodes.Item(0).AppendChild(environmentElement);
       } 




但是显示出来像这样....

 <   HEDDER  > ; 
  <   ID  >  10 <  /ID  > 
  <   NAME  >  ABC10 <  /NAME  > 
  <   ID  >  11 <  /ID  > 
  <   NAME  >  ABC11 <  /NAME  > 
  <   ID  >  12 <  /ID  > 
  <   NAME  >  ABC12 <  /NAME  > 
<  /HEDDER  >  



有人可以帮我解决吗..

解决方案

您好,您错过了创建HEDDER节点的原因,这就是为什么它们没有出现的原因在生成的XML中.

将循环修改为类似以下内容:

  for ( int  i =  10 ;我<   20 ; i ++)
{
    // 创建< hedder>节点
    XmlElement hedder = docConfig.CreateElement(" );

    // 创建< installationid>节点
    XmlElement installationElement = docConfig.CreateElement(" );
    XmlText installationIdText = docConfig.CreateTextNode(Convert.ToString(i));
    installationElement.AppendChild(installationIdText);

    // 添加< id> < hedder>的子节点元素
    hedder.AppendChild(installationElement);

    // 创建< environment>节点
    XmlElement environmentElement = docConfig.CreateElement(" );
    XmlText environText = docConfig.CreateTextNode("  + i);
    environmentElement.AppendChild(environText);

    // 添加< name> < hedder>的子节点元素
    hedder.AppendChild(environmentElement);

    // 将HEDDER节点添加到根.
    rootElement.AppendChild(hedder);
} 



希望对您有所帮助.


 私有 无效 create()
    {
        
        XmlDocument docConfig =  XmlDocument();
        XmlNode xmlNode = docConfig.CreateNode(XmlNodeType.XmlDeclaration,"  ");
        XmlElement rootElement = docConfig.CreateElement(" );
        docConfig.AppendChild(rootElement);
        
         for ( int  i =  10 ; i <   20 ; i ++)
        {
            XmlElement hedder = docConfig.CreateElement(" );
            docConfig.DocumentElement.PrependChild(hedder);
            docConfig.ChildNodes.Item( 0 ).AppendChild(hedder);
            // 创建< installationid>节点
            XmlElement installationElement = docConfig.CreateElement(" );
            XmlText installationIdText = docConfig.CreateTextNode(Convert.ToString(i));
            installationElement.AppendChild(installationIdText);
            hedder.PrependChild(installationElement);
            // 创建< environment>节点
            XmlElement environmentElement = docConfig.CreateElement(" );
            XmlText environText = docConfig.CreateTextNode("  + i);
            environmentElement.AppendChild(environText);
            
            hedder.PrependChild(environmentElement);
         
        }

        // 将xml文档保存到指定的文件夹路径.
        docConfig.Save(" );
    } 


这样会像...

 <   HEDDERS  > ; 
  <   HEDDER  > 
    <   NAME  >  ABC10 <  /NAME  > 
    <   ID  >  10 <  /ID  > 
  <  /HEDDER  > 
  <   HEDDER  > 
    <   NAME  >  ABC11 <  /NAME  > 
    <   ID  >  11 <  /ID  > 
  <  /HEDDER  > 
  <   HEDDER  > 
    <   NAME  >  ABC12 <  /NAME  > 
    <   ID  >  12 <  /ID  > 
  <  /HEDDER  > 
  <   HEDDER  > 
    <   NAME  >  ABC13 <  /NAME  > 
    <   ID  >  13 <  /ID  > 
  <  /HEDDER  >  


Hai all. I need to create an xml file like this ..

<HEDDERS>
  <HEDDER>
    <ID>1</ID>
    <Name>ID</Name>
  </HEDDER>
  <HEDDER>
    <ID>6</ID>
    <Name>STATE</Name>
  </HEDDER>
  <HEDDER>
    <ID>7</ID>
    <Name>PIN</Name>
  </HEDDER>

</HEDDERS>




I use the code like this..

XmlDocument docConfig = new XmlDocument();
       XmlNode xmlNode = docConfig.CreateNode(XmlNodeType.XmlDeclaration, "", "");
       XmlElement rootElement = docConfig.CreateElement("HEDDERS");
       docConfig.AppendChild(rootElement);
       for (int i = 10; i < 20; i++)

       {

           // Create <InstallationId> Node
           XmlElement installationElement = docConfig.CreateElement("ID");
           XmlText installationIdText = docConfig.CreateTextNode(Convert.ToString(i));
           installationElement.AppendChild(installationIdText);
           docConfig.ChildNodes.Item(0).AppendChild(installationElement);

           // Create <Environment> Node
           XmlElement environmentElement = docConfig.CreateElement("NAME");
           XmlText environText = docConfig.CreateTextNode("ABC"+i);
           environmentElement.AppendChild(environText);
           docConfig.ChildNodes.Item(0).AppendChild(environmentElement);
       }




But it shows out put like this....

<HEDDER>
  <ID>10</ID>
  <NAME>ABC10</NAME>
  <ID>11</ID>
  <NAME>ABC11</NAME>
  <ID>12</ID>
  <NAME>ABC12</NAME>
</HEDDER>



Can Any one help me to solve it out..

解决方案

Hi, you missed creating the HEDDER nodes, that''s why they''re not appearing in the generated XML.

Modify your loop to something like:

for (int i = 10; i < 20; i++)
{
    // Create the <hedder> Node
    XmlElement hedder = docConfig.CreateElement("HEDDER");

    // Create <installationid> Node
    XmlElement installationElement = docConfig.CreateElement("ID");
    XmlText installationIdText = docConfig.CreateTextNode(Convert.ToString(i));
    installationElement.AppendChild(installationIdText);

    // Add the <id> child node to the <hedder> element
    hedder.AppendChild(installationElement);

    // Create <environment> Node
    XmlElement environmentElement = docConfig.CreateElement("NAME");
    XmlText environText = docConfig.CreateTextNode("ABC" + i);
    environmentElement.AppendChild(environText);

    // Add the <name> child node to the <hedder> element
    hedder.AppendChild(environmentElement);

    // Add the HEDDER node to the root.
    rootElement.AppendChild(hedder);
}



I hope this helps.


private void create()
    {
        
        XmlDocument docConfig = new XmlDocument();
        XmlNode xmlNode = docConfig.CreateNode(XmlNodeType.XmlDeclaration, "", "");
        XmlElement rootElement = docConfig.CreateElement("HEDDERS");
        docConfig.AppendChild(rootElement);
        
        for (int i = 10; i < 20; i++)
        {
            XmlElement hedder = docConfig.CreateElement("HEDDER");
            docConfig.DocumentElement.PrependChild(hedder);
            docConfig.ChildNodes.Item(0).AppendChild(hedder);
            // Create <installationid> Node
            XmlElement installationElement =docConfig.CreateElement("ID");
            XmlText installationIdText = docConfig.CreateTextNode(Convert.ToString(i));
            installationElement.AppendChild(installationIdText);
            hedder.PrependChild(installationElement);
            // Create <environment> Node
            XmlElement environmentElement = docConfig.CreateElement("NAME");
            XmlText environText = docConfig.CreateTextNode("ABC"+i);
            environmentElement.AppendChild(environText);
            
            hedder.PrependChild(environmentElement);
         
        }        

        // Save xml document to the specified folder path.
        docConfig.Save("D:\\Sample.xml");      
    }


This will give the out put like...

<HEDDERS>
  <HEDDER>
    <NAME>ABC10</NAME>
    <ID>10</ID>
  </HEDDER>
  <HEDDER>
    <NAME>ABC11</NAME>
    <ID>11</ID>
  </HEDDER>
  <HEDDER>
    <NAME>ABC12</NAME>
    <ID>12</ID>
  </HEDDER>
  <HEDDER>
    <NAME>ABC13</NAME>
    <ID>13</ID>
  </HEDDER>


这篇关于使用Asp.net C#动态创建XML.的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆