使用XMLdocument添加节点

9
在下面的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。

如果您发布代码、XML或数据样本,请在文本编辑器中突出显示这些行,并单击编辑器工具栏上的“代码示例”按钮({})以使其格式化和语法高亮! - marc_s
1个回答

10
你正在将新的LINK节点添加到GENLINKS节点,然后将其移动到ADMINLINKS。请改为尝试以下操作:
NodeAdmin.AppendChild(newLink.Clone());

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接