我将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>
答案 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);