使用XmlDocument的添加节点 [英] Using XMLdocument to add node

查看:493
本文介绍了使用XmlDocument的添加节点的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

在下面的XML文档,我需要添加一个节点

 <仪表及GT; 
<公告及GT;
< DISPLAYTEXT> TESTIN吲; / DISPLAYTEXT>
< /公告及GT;
< ADMINLINKS>
< LINK NAME =谷歌>中的http:\\www.google.com< / LINK>
< / ADMINLINKS>
< GENLINKS>
< LINK NAME =ClearQuest的>中http://clearquest.com/cqweb/< / LINK>
< LINK NAME =谷歌> HTTP://www.google.com< / LINK>
< / GENLINKS>
< /仪表及GT;



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



 的XmlDocument xmlDoc中=新的XmlDocument(); 
xmldoc.Load(DashBoard.xml);

XmlNode的NodeGen = xmldoc.SelectSingleNode(仪表板/ GENLINKS);
XmlNode的NodeAdmin = xmldoc.SelectSingleNode(仪表板/ ADMINLINKS);

XmlNode的NEWLINK = xmldoc.CreateNode(XmlNodeType.Element,链接,NULL);
XmlAttribute XA = xmldoc.CreateAttribute(NAME);
xa.Value = LINKNAME;
newLink.InnerText =链接;
newLink.Attributes.Append(XA);

NodeGen.AppendChild(NEWLINK);
NodeAdmin.AppendChild(NEWLINK);

xmldoc.Save(DashBoard.xml);

这是加入下adminlinks但不是下genlinks的链接。


< DIV CLASS =h2_lin>解决方案

您要添加新的链接节点到节点GENLINKS,然后将它移动到ADMINLINKS。试试这个:

  NodeAdmin.AppendChild(newLink.Clone()); 


In following XML document , I need to append a node

<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. 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.

解决方案

You're adding the new LINK node to the GENLINKS node, then moving it to ADMINLINKS. Try this instead:

NodeAdmin.AppendChild(newLink.Clone());

这篇关于使用XmlDocument的添加节点的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆