如何将属性添加到使用“导入”节点创建的XML节点

时间:2015-07-30 10:12:28

标签: c#

我将XML节点从一个XML克隆到另一个XML n次。要标识我想要为其添加索引属性的每个节点。

这是我用来导入节点的代码。

 XmlDocument template = new XmlDocument();
 template.Load(filelocation);
 XmlDocument Neweventlist= new XmlDocument();
 XmlNamespaceManager namespaces = new      XmlNamespaceManager(template.NameTable);

namespaces.AddNamespace("n", "http://www.hp.com/2009/software/opr/data_model");

XmlNode node = template.SelectSingleNode(".//n:event", namespaces);

Neweventlist.Load(eventlist_location);

    Neweventlist.DocumentElement.AppendChild(Neweventlist.ImportNode(template.DocumentElement, true));

请帮助我如何为我添加的新节点设置属性。

模板文档:

  <event>
 <server></server>
 </event>

输出doc:

<eventlist>
<event index="0">
<server></server>
</event>
<event index="1">
<server></server>
</event>
<event index="2">
<server></server>
</event>
</eventlist>

1 个答案:

答案 0 :(得分:1)

在将节点添加到文档之前,

XmlNode node = Neweventlist.ImportNode(template.DocumentElement, true); //Get the node
XmlAttribute attribute= Neweventlist.CreateAttribute("index"); // create attribute
attribute.Value = 0; //set the appropriate value
node.Attributes.Append(attribute); // add the attribute to node

然后将节点添加到元素

Neweventlist.DocumentElement.AppendChild(node);