将新节点添加到xml树

我正在生成一个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树:

                  

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

 root.Add(new XElement("sub1",new XElement("subsub123"))); 

但是这段代码并不是我想要的。 它只是向root添加新的相同节点。 这样做的正确方法是什么?

使用:

 root.Element("sub1").Add(new XElement("subsub123")); 

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