O sa scriu despre ceva simplu, de week-and. Am muncit la un proiect care (printre altele) presupunea salvarea anumitor date in format XML. La un moment dat a trebuit sa inserez un comentariu in XML-ul care continea datele salvate. Si am vrut ca nodul de tip XmlComment sa fie primul in lista de noduri a nodului curent (sau, mai pe scurt spus, primul copil – firstChild).
In mod normal, objXml.AppendChild(deInserat) insereaza nodul deInserat ultimul in lista de noduri a nodului curent.
Pentru a insera un nod in prima pozitie (sa devina firstChild) se foloseste o constructie de genul urmator:
currentXmlNode.InsertBefore(mComment, currentXmlNode.FirstChild) //insert this node as first node
unde mComment, evident, este nodul de tip XmlComment pe care vreau sa il inserez in prima pozitie. Bineinteles, ar trebui verificat daca nu cumva currentXmlNode.FirstChild este null, insa astea sunt deja detalii.