我正在生成一个xml树:
var root = new XElement("Root");
for(int i =0;i<3;i++)
{
var sub0lvl = new XElement(String.Format("sub{0}",i));
root.Add(sub0lvl);
for(int j=0;j<2;j++)
{
sub0lvl.Add(new XElement(String.Format("subsub{0}",i)));
}
}
此代码生成以下xml树:
<Root>
<sub0>
<subsub0 />
<subsub0 />
</sub0>
<sub1>
<subsub1 />
<subsub1 />
</sub1>
<sub2>
<subsub2 />
<subsub2 />
</sub2>
<sub8>
<subsub123 />
</sub8>
</Root>
我想使用类似
的代码向sub1节点添加新元素root.Add(new XElement("sub1",new XElement("subsub123")));
但是这段代码并不是我想要的。它只是向root添加新的相同节点。这样做的正确方法是什么?
答案 0 :(得分:4)
使用:
root.Element("sub1").Add(new XElement("subsub123"));
基本上是找到现有的 sub1
元素并向其添加新的子元素,而不是添加新的sub1
元素。