用xpath查询出节点集,再遍历啊

解决方案 »

  1.   

    2层的……多层的自己改成递归吧XmlDocument xmlDoc=new XmlDocument();
    xmlDoc.Load("youXML.xml");
    XmlNodeList nodeList=xmlDoc.SelectSingleNode("TREENODES").ChildNodes;
       foreach(XmlNode xn in nodeList)
       {
        XmlElement xe=(XmlElement)xn;
        if(xe.GetAttribute("Text")=="图书馆")
        {
         XmlNodeList nls=xe.ChildNodes;
         foreach(XmlNode xn1 in nls)
         {
          XmlElement xe2=(XmlElement)xn1;
          if(xe2.GetAttribute("Text")=="借阅图书")
          {
            //添加子节点
            XmlElement xesub1=xmlDoc.CreateElement("TreeNode");
            xesub1.InnerText="aaa";
            xe1.AppendChild(xesub1);
          }
         }
         break;
        }
       }
     
       xmlDoc.Save("youXML.xml");//保存。
      

  2.   

    try:XmlDocument doc=new XmlDocument();
    doc.Load("yourfile.xml");
    //查找节点
    XmlNode node=doc.SelectSingleNode("//TreeNode[@Text='借阅图书']");if(node!=null) //找到节点
    {
       //添加子节点
       XmlElement ele=doc.CreateElement("ChildNode");
       ele.InnerText="child";
       
       node.AppendChild(ele);
    }doc.Save("xml.xml");