需要根据条件插入XML个标签

Need to insert XML tags based on conditions

我试图根据一些条件向我的 XML 文件中插入几个节点。

这是我的XML

<root>
<child name="abc">
<child name="xyz">

</root>

所以现在我的状态是这样的..

if(root/child[name="xyz"]) insert child2  under that tag

所以我的最终 XML 应该是这样的

<root>
<child name="abc">
<child name="xyz">
<child2></child2>

</root>

需要编程帮助才能实现此目的。

string xml = @"<root>
    <child name='abc'></child>
    <child name='xyz'></child>
</root>";

XDocument doc = XDocument.Parse(xml);  //replace with xml file path
doc.Root
    .Elements("child")
    .Single(c => (string) c.Attribute("name") == "xyz")
    .AddAfterSelf(new XElement("child2", ""));

Console.WriteLine(doc.ToString());

returns

<root>
   <child name="abc"></child>
   <child name="xyz"></child>
   <child2></child2>
</root>