要添加節點或附加在現有的XML數據我倒是使用LINQ XML內容。
XElement xml = XElement.Load("file.xml");
xml.Add(new XElement("uberNode",
new XElement("childNode", content),
new XElement("anotherChildNode", content)));
xml.Save("file.xml");
Here是一些其他相關的解決方案。
添加到特定節點(例如帶):
繼exisiting XML數據:
`<Names>
<Name>
<prename>John</prename>
<lastname>Snow</lastname>
</Name>
<Name>
<prename>Harry</prename>
<lastname>Harry</lastname>
</Name>
</Names>`
現在我想第一個 「女士prename」 前添加 「年齡」 - 標記 - 標籤和「家庭」 - 標籤後的第一個「姓氏」標籤。
XElement xml = XElement.Load("file.xml");
var childrens = xml.DescendantsAndSelf().ToArray();
var first_prename = childrens[2];
var first_lastname = childrens[3];
Console.WriteLine(childrens[0]); //prints out the whole content
first_prename.AddBeforeSelf(new XElement("age", 22));
first_lastname.AddAfterSelf(new XElement("family", new XElement("mother", "paula"), new XElement("father", "paul")));
xml.Save("file.xml");
結果:
`<Names>
<Name>
<age>22</age>
<prename>John</prename>
<lastname>Snow</lastname>
<family>
<mother>paula</mother>
<father>paul</father>
</family>
</Name>
<Name>
<prename>Harry</prename>
<lastname>Harry</lastname>
</Name>
</Names>`
我面臨的問題和LINQ給了我實現這一目標的最簡單的辦法! 也有其他類似的方式,例如here。但我嘗試了更多,DescendantsAndSelf()讓我更容易通過。
感謝您的快速回復。我嘗試了下面的代碼來在ReleaseLine節點內插入新的節點集合,但是它被插入到XML的根節點。如何將新節點插入到正確的子節點?這是我的代碼。再次感謝你的幫助。
–
我編輯了我的最後一個答案。而且我也要謝謝你,因爲我現在必須解決這個問題! - – Stophane
工程就像一個魅力,謝謝Stophano。我使用xml.Descendants()方法,但您提供的解決方案有很多幫助,再次感謝,歡呼! –