我的xml文档(其实是一个xml文档)如下:
<Connect>
<CreateConditionalContent>
<UserName></UserName>
<FirstName></FirstName>
<ContentName></ContentName>
<Language></Language>
<ConditionalContent>
</ConditionalContent>
<ContentBody></ContentBody>
<DefaultContent></DefaultContent>
</CreateConditionalContent>
</Connect>我需要读这个文档,并为相应的节点添加值(这个已经完成)。现在我想在<ConditionalContent>
</ConditionalContent>节点后面再添加一个<ConditionalContent></ConditionalContent>节点,可是我用 XmlNode root=xdoc.SelectSingleNode("CreateConditionalContent");  XmlElement element =   xdoc.CreateElement("ConditionalContent");  root.AppendChild(root);添加节点,它确跑到最后面去了.
强调一点, 插入的节点必须在<ContentBody></ContentBody>前面
不知大家明白我的意思没?其实我就想在一个特定的位置插入一个节点。
谢谢大家!!!

解决方案 »

  1.   

     
     XmlDocument xmlDoc=new XmlDocument();
     xmlDoc.Load("bookstore.xml");
     XmlNode root=xmlDoc.SelectSingleNode("bookstore");//查找<bookstore> XmlElement xe=xmlDoc.CreateElement("book");//创建一个<book>节点
     xe.SetAttribute("genre","李赞红");//设置该节点genre属性
     xe.SetAttribute("ISBN","--");//设置该节点ISBN属性
     
     XmlElement xesub=xmlDoc.CreateElement("title");
     xesub.InnerText="CS从入门到精通";//设置文本节点
     xe.AppendChild(xesub);//添加到<book>节点中
     XmlElement xesub=xmlDoc.CreateElement("author");
     xesub.InnerText="候捷";
     xe.AppendChild(xesub);
     XmlElement xesub=xmlDoc.CreateElement("price");
     xesub.InnerText=".";
     xe.AppendChild(xesub);
     
     root.AppendChild(xe);//添加到<bookstore>节点中
     xmlDoc.Save("bookstore.xml");
      

  2.   

    你想选择你想要添加的节点,然后再用AppendChild
      

  3.   

    告诉你我常用的笨办法:
    1、用DataSet.ReadXml把XMl读进来
    2、在DataSet里面删除、增加啥的,那是贼简单
    4、用DataSet.WriteXml吧数据写回XML文件
      

  4.   

    问题已经解决,原来微软提供了InsertBefore()方法,谢谢大家