http://dev.csdn.net/develop/article/28/28534.shtm

解决方案 »

  1.   

    参考如下代码,只是手头带复合结构的还没有什么代码string strXml="<?xml version=\"1.0\"?>"
    +"<Data>"
    +"<Head>"
    +"<Nodeid>1111</Nodeid>"
    +"<Subid>2222</Subid>"
    +"<Version>2004</Version>"
    +"<Date>20040302</Date>"
    +"<Time>101500</Time>"
    +"</Head>"
    +"<Body>"
    +"<Code>01</Code>"
    +"<Name>深圳</Name>"
    +"<IdType>0</IdType>"
    +"<Idno>110258740824082</Idno>"
    +"</Body>"
    +"</Data>";
    XmlDocument doc = new XmlDocument();
    doc.LoadXml(strXml);
    string vv;XmlNodeList myNodes = doc.GetElementsByTagName("Version");
    vv = myNodes[0].InnerText;
    //修改
    myNodes[0].InnerText = "123455";
    Console.WriteLine(vv);//myNodes = doc.SelectNodes("//Version")[0].InnerText;myNodes = doc.SelectNodes("//Version");
    vv = myNodes[0].InnerText;
    Console.WriteLine(vv);//再修改
    myNodes[0].InnerText = "67890";
    doc.Save("e:\\text.xml");
    Console.ReadLine();
    添加XmlDocument xmlDoc = new XmlDocument();
    xmlDoc.Load("e:\\c.xml");
    XmlNode root=xmlDoc.SelectSingleNode("//Entity");if(root==null) return;

    XmlElement xe1=xmlDoc.CreateElement("book"); //创建一个<book>节点 xe1.SetAttribute("genre","李赞红"); //设置该节点genre属性 
    xe1.SetAttribute("ISBN","2-3631-4"); //设置该节点ISBN属性 XmlElement xesub1=xmlDoc.CreateElement("title"); xesub1.InnerText="CS从入门到精通"; //设置文本节点 
    xe1.AppendChild(xesub1); //添加到<book>节点中 XmlElement xesub2=xmlDoc.CreateElement("author"); 
    xesub2.InnerText="候捷"; 
    xe1.AppendChild(xesub2); XmlElement xesub3=xmlDoc.CreateElement("price"); 
    xesub3.InnerText="58.3"; 
    xe1.AppendChild(xesub3); root.AppendChild(xe1); //添加到<bookstore>节点中 

    XmlNode node = xe1.CloneNode(true);
    xmlDoc.DocumentElement.AppendChild(node);
    xmlDoc.Save("e:\\c1.xml");
      

  2.   

    已知有一个XML文件(bookstore.xml)如下:<?xml version="1.0" encoding="gb2312"?>
    <bookstore>
      <book genre="fantasy" ISBN="2-3631-4">
        <title>Oberon's Legacy</title>
        <author>Corets, Eva</author>
        <price>5.95</price>
      </book>
    </bookstore>
      1、往<bookstore>节点中插入一个<book>节点:    XmlDocument xmlDoc=new XmlDocument();
       xmlDoc.Load("bookstore.xml");
       XmlNode root=xmlDoc.SelectSingleNode("bookstore");//查找<bookstore>
       XmlElement xe1=xmlDoc.CreateElement("book");//创建一个<book>节点
       xe1.SetAttribute("genre","李赞红");//设置该节点genre属性
       xe1.SetAttribute("ISBN","2-3631-4");//设置该节点ISBN属性
     
       XmlElement xesub1=xmlDoc.CreateElement("title");
       xesub1.InnerText="CS从入门到精通";//设置文本节点
       xe1.AppendChild(xesub1);//添加到<book>节点中
       XmlElement xesub2=xmlDoc.CreateElement("author");
       xesub2.InnerText="候捷";
       xe1.AppendChild(xesub2);
       XmlElement xesub3=xmlDoc.CreateElement("price");
       xesub3.InnerText="58.3";
       xe1.AppendChild(xesub3);
     
       root.AppendChild(xe1);//添加到<bookstore>节点中
       xmlDoc.Save("bookstore.xml");
     //================
      结果为: <?xml version="1.0" encoding="gb2312"?>
    <bookstore>
      <book genre="fantasy" ISBN="2-3631-4">
        <title>Oberon's Legacy</title>
        <author>Corets, Eva</author>
        <price>5.95</price>
      </book>
      <book genre="李赞红" ISBN="2-3631-4">
        <title>CS从入门到精通</title>
        <author>候捷</author>
        <price>58.3</price>
      </book>
    </bookstore>
      

  3.   

    这些都不能完成复合XML的添加、修改、删除操作

      

  4.   

    首先你应能定位到要操作的节点:XmlNode xn=xmldoc.SelectSingleNode("//item[id='"+i_id+"']");
    然后才能做添加,修改删除操作.
    添加就是执行xn.appendchild();
    修改则应该是xn.Innertext="你要修改的东西"
      

  5.   

    如何才能得到这个节点?
    ("//item[id='"+i_id+"']")是什么?是不是xpath?
      

  6.   

    http://www.w3schools.com/xpath/default.asp这里头可以学习xpath