2010-06-09 4 views
7

Это мой XML-файлВставить узел XML, прежде чем конкретный узел с помощью C#

<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> 

между "а2" и "a3" узлов. Любой указатель, как разобраться с этим?

+0

вы используете XmlDocument или Xml Linq 2 (XDocument)? –

+0

Я использую xmldocument – SAK

ответ

9

использовать метод 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); 
+0

Спасибо PierrOz !!! – SAK

Смежные вопросы