Reputation: 3900
This is my XML file
<employee>
<name ref="a1" type="xxx"></name>
<name ref="a2" type="yyy"></name>
<name ref="a3" type="zzz"></name>
</employee>
Using C#, I need to insert this node
<name ref="b2" type="aaa"></name>
between the "a2" and "a3" nodes. Any pointer how to sort this out?
Upvotes: 7
Views: 15913
Reputation: 7870
use the insertAfter method:
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);
Upvotes: 10