如何将XElement插入现有的xml文件?

Nor*_*ick 5 c# xml linq xelement

我有以下xml:

<Assembly>
  <Bench>
    <Typ>P1</Typ>
    <DUT>
       <A>6</A>
     </DUT>
  </Bench>
  <Bench>
    <Typ>P2</Typ>
     <DUT>
       <A>6</A>
     </DUT>
  </Bench>
</Assembly>
Run Code Online (Sandbox Code Playgroud)

如何获得可以插入新DUT的'P2'元素的引用?我尝试了以下代码,这给了我一个错误:

var xElement = xmlDoc.Element("Assembly")
                                .Elements("Bench")
                                .Where(item => item.Attribute("Typ").Value == "P2")
                                .FirstOrDefault();

xElement.AddAfterSelf(new XElement("DUT")); 
Run Code Online (Sandbox Code Playgroud)

提前致谢

har*_*r07 3

Typ是元素名称,而不是属性。如果您打算在第二个元素下<DUT>现有元素之后添加新元素,那么对您尝试过的代码进行的细微更改应该有效:<DUT><Bench>

var xElement = xmlDoc.Element("Assembly")
                     .Elements("Bench")
                     .FirstOrDefault(item => item.Element("Typ").Value == "P2");

xElement.AddAfterSelf(new XElement("DUT")); 
Run Code Online (Sandbox Code Playgroud)