使用XmlDocument的添加节点
问题描述:
在下面的XML文档,我需要追加一个节点使用XmlDocument的添加节点
<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一个新的节点命名的链接。下面是一段代码
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的链接。
答
您正在将新的LINK节点添加到GENLINKS节点,然后将其移动到ADMINLINKS。试试这个:
NodeAdmin.AppendChild(newLink.Clone());
+0
谢谢你的工作! – ppraj 2011-03-15 12:48:52
如果您发布的代码,XML或数据样本,** **请在高亮文本编辑器这些线路上,并点击编辑器中的“代码示例”按钮('{}')工具栏以很好的格式和语法突出显示它! – 2011-03-15 12:40:49