xml

 已經存在test.xml這個文件,內容如下:
<root>
<mailto>[email protected]</mailto>
<mailserver>smtp.test.com.cn</mailserver>
</root>
現在想增加一個節點,內容變成如下:
<root>
<mailto>[email protected]</mailto>
<mailto>[email protected]</mailto>
<mailserver>smtp.test.com.cn</mailserver>
</root>這個XML的操作要怎麼寫啊?

解决方案 »

  1.   

    大概这样
    protected XmlDocument objXmlDoc = new XmlDocument();
    objXmlDoc.Load(XmlFile); //XmlFile为你xml的路径
    string strXmlFile = XmlFile;
    XmlNode objNode = objXmlDoc.SelectSingleNode("root");
    XmlElement objElement = objXmlDoc.CreateElement("mailto");
    objElement.InnerText = "[email protected]";
    objNode.AppendChild(objElement);
    objXmlDoc.Save(strXmlFile);
    没测试过,可能会有问题
    另外直接加mailto节点吗?加个属性id什么的区分好点
      

  2.   


    就只加<mailto>節點,你這代碼可以不咯
      

  3.   

               XmlDocument xmlDoc = new XmlDocument();
                xmlDoc.Load(@"D:\Project\C#Test\WindowsApplication1\WindowsApplication4\XMLFile1.xml");
                //XmlNode nodeList = xmlDoc.SelectSingleNode("/Computers/Setting/UseNum");
                XmlNode node = xmlDoc.SelectSingleNode("/root");
                XmlNode cn = xmlDoc.CreateNode(XmlNodeType.Element, "mailto", "");
                cn.InnerText = "[email protected]";
                node.AppendChild(cn);
                xmlDoc.Save(@"D:\Project\C#Test\WindowsApplication1\WindowsApplication4\XMLFile1.xml");完全可以.....
      

  4.   

    用DataSet更简单
    LoadXML到DataSet——》为DataSet增加行——》再保存XML
      

  5.   

     我要實現的是:
    <root> 
    <mailto>[email protected] </mailto> 
    <mailto>[email protected] </mailto> 
    <mailserver>smtp.test.com.cn </mailserver> 
    </root> 在<mailserver>前面增加<mailto>節點,就是說增加的<mailto>節點只能在<mailserver>節點的前面哦
      

  6.   

                XmlDocument xmlDoc = new XmlDocument();
                xmlDoc.Load(@"D:\Project\C#Test\WindowsApplication1\WindowsApplication4\XMLFile1.xml");
                //XmlNode nodeList = xmlDoc.SelectSingleNode("/Computers/Setting/UseNum");
                XmlNode node = xmlDoc.SelectSingleNode("/root");
                XmlNode mailto= xmlDoc.SelectSingleNode("/root/mailto");
                XmlNode cn = xmlDoc.CreateNode(XmlNodeType.Element, "mailto", "");
                cn.InnerText = "[email protected]";
                //node.AppendChild(cn);
                node.InsertAfter(cn, mailto);
                xmlDoc.Save(@"D:\Project\C#Test\WindowsApplication1\WindowsApplication4\XMLFile1.xml");
      

  7.   


    謝謝,你應該是我想要的了.........我想請教一下,如何將數據庫中的Mail地址,如:[email protected],自動生成一個新的xml檔案呢?
    select E_mail from table 得到mail地址後,怎麼樣可以生成一個像:
    <root> 
    <mailto>[email protected] </mailto> 
    <mailto>[email protected] </mailto>
    .............
    <mailserver>smtp.test.com.cn </mailserver> 
    </root> 
    這樣的xml檔案?