简体   繁体   English

使用XMLdocument添加节点

[英]Using XMLdocument to add node

In following XML document , I need to append a node 在下面的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>

The issue is I need to add a new node named link under adminlinks and genlinks simultaneously. 问题是我需要在adminlinks和genlinks下同时添加一个名为link的新节点。 Here is the piece of code 这是一段代码

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");

This is adding the link under adminlinks but not under genlinks. 这是在adminlinks下添加链接,但不在genlinks下添加。

You're adding the new LINK node to the GENLINKS node, then moving it to ADMINLINKS. 您将新的LINK节点添加到GENLINKS节点,然后将其移动到ADMINLINKS。 Try this instead: 试试这个:

NodeAdmin.AppendChild(newLink.Clone());

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM