使用XMLdocument添加节点

时间:2011-03-15 12:32:14

标签: c# xml

在以下XML文档中,我需要附加一个节点

<DASHBOARD>
  <ANNOUNCEMENT>
    <DISPLAYTEXT>testin one</DISPLAYTEXT>
  </ANNOUNCEMENT>
  <ADMINLINKS>
    <LINK NAME="Google">"http:\\www.google.com"</LINK>
  </ADMINLINKS>
  <GENLINKS>
    <LINK NAME="Clearquest">"http://clearquest.com/cqweb/"</LINK>
    <LINK NAME="Google">http://www.google.com</LINK>
  </GENLINKS>
</DASHBOARD>

问题是我需要同时在adminlinks和genlinks下添加一个名为link的新节点。这是一段代码

XmlDocument xmldoc = new XmlDocument();
xmldoc.Load("DashBoard.xml");

XmlNode NodeGen = xmldoc.SelectSingleNode("DASHBOARD/GENLINKS");
XmlNode NodeAdmin = xmldoc.SelectSingleNode("DASHBOARD/ADMINLINKS");

XmlNode newLink = xmldoc.CreateNode(XmlNodeType.Element, "LINK", null);
XmlAttribute xa = xmldoc.CreateAttribute("NAME");
xa.Value = LinkName;
newLink.InnerText = Link;
newLink.Attributes.Append(xa);

NodeGen.AppendChild(newLink);
NodeAdmin.AppendChild(newLink);

xmldoc.Save("DashBoard.xml");

这是在adminlinks下添加链接,但不在genlinks下。

1 个答案:

答案 0 :(得分:10)

您正在将新的LINK节点添加到GENLINKS节点,然后将其移至ADMINLINKS。试试这个:

NodeAdmin.AppendChild(newLink.Clone());