C# 使用c在特定节点之前插入XML节点#

C# 使用c在特定节点之前插入XML节点#,c#,xml,C#,Xml,这是我的XML文件 <employee> <name ref="a1" type="xxx"></name> <name ref="a2" type="yyy"></name> <name ref="a3" type="zzz"></name> </employee> 使用C#,我需要插入此节点 <name ref="b2" type="aaa"></name>

这是我的XML文件

<employee>
  <name ref="a1" type="xxx"></name>
  <name ref="a2" type="yyy"></name>
  <name ref="a3" type="zzz"></name>
</employee>

使用C#,我需要插入此节点

<name ref="b2" type="aaa"></name>


在“a2”和“a3”节点之间。任何指针如何排序?

使用insertAfter方法:

XmlDocument xDoc = new XmlDocument();
xDoc.Load(yourFile);
XmlNode xElt = xDoc.SelectSingleNode("//name[@ref=\"a2\"]");
XmlElement xNewChild = xDoc.CreateElement("name");
xNewChild.SetAttribute("ref", "b2");
xNewChild.SetAttribute("type", "aaa");
xDoc.DocumentElement.InsertAfter(xNewChild, xElt);

您使用的是XmlDocument还是linq2xml(XDocument)?