将childnode添加到xml doc

时间:2012-02-27 07:23:51

标签: xml winforms appendchild

我正在尝试搜索XML文件,如果找不到某个依赖项,请将该依赖项添加到<dependencies>的末尾。 我的XML文件如下所示:

    <config>
      <settings>
      ...
      </settings>
<dependencies>
<dependency key="#0" type="Windows" name="Microsoft Windows XP" namepart="false"/>
    .
    .
    .
<dependancy key="#4" type="Windows" name="Microsoft Windows 7" namepart="false" />
</dependencies>

现在我想通过代码添加第5个依赖项。 (<dependancy key="#5" type="Windows" name="Microsoft Windows NT" namepart="false" />)  我该怎么做呢我尝试过使用XMLElement并将其追加到最后。

1 个答案:

答案 0 :(得分:0)

Xml Document未订购。 您可以使用关键属性检查特定节点。

    XmlDocument doc=new XmlDocument();
    doc.LoadXMl(youxmlstring);
    XmlNode node=doc.SelectSingleNode("//dependancy/@name='Microsoft Windows NT'");
    if (node==null)
    {
            //no such node
            //insert new node
    }

要计算新的键属性值,您可以使用类似

的内容
    //assuming key is currectly ordered
    int nextKey=doc.SelectNodes("//dependancy").Count;      

http://www.codeproject.com/Articles/9494/Manipulate-XML-data-with-XPath-and-XmlDocument-C