将新节点添加到 xml 树

Nei*_*ir0 2 c# xml linq

我正在生成一个 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)));
   }
}
Run Code Online (Sandbox Code Playgroud)

此代码生成以下 xml 树:

<Root>
  <sub0>
    <subsub0 />
    <subsub0 />
  </sub0>
  <sub1>
    <subsub1 />
    <subsub1 />
  </sub1>
  <sub2>
    <subsub2 />
    <subsub2 />
  </sub2>
  <sub8>
    <subsub123 />
  </sub8>
</Root>
Run Code Online (Sandbox Code Playgroud)

我想使用这样的代码向 sub1 节点添加新元素

root.Add(new XElement("sub1",new XElement("subsub123")));
Run Code Online (Sandbox Code Playgroud)

但是这段代码不像我希望的那样工作。它只是向根添加新的相同节点。这样做的正确方法是什么?

Jon*_*eet 5

用:

root.Element("sub1").Add(new XElement("subsub123"));
Run Code Online (Sandbox Code Playgroud)

基本上这是找到现有 sub1元素并向其添加一个新的子元素,而不是添加一个新sub1元素。