将父项添加到xml linq

时间:2010-07-08 13:14:08

标签: c# linq-to-xml

是否可以将父项添加到xml元素?

<node1>
 <node2></node2> 
 <node2></node2>
</node1>

我希望:

<node1>
 <node3>
  <node2></node2> 
  <node2></node2>
 </node3>
</node1>

因此将node3添加为此部分中节点2元素的父级

1 个答案:

答案 0 :(得分:3)

XElement lastparent = node2.Parent;
node2.Remove();
node3.Add(node2);
lastparent.Add(node3);

修改

为了适应您的编辑:

XElement node1 = yourDocument.Element("node1");
XElement[] nodes2 = node1.Elements("node2");
XElement node3 = new XElement("node3");

foreach(XElement node2 in nodes2)
{
    node2.Remove();
}

node3.Add(nodes2);
node1.Add(node3);