我的XML文檔如下 -XML遍歷,複製單元和節點使用LINQ to XML
<?xml version="1.0" encoding="utf-8"?>
<Parents>
<Parent id="A" description="A is a parent">
<Children>
<ChildName name = "Son1ofA" />
<ChildName name = "Son2ofA" />
</Children>
</Parent>
</Parents>
要求 -
- 爲了識別元素 「父」,克隆它。將屬性ID更改爲「B」。將其添加爲自己的兄弟(使其成爲「父母」的新孩子)。
輸出文件是如下 -
<Parents> <Parent id="A" description="A is a parent"> <Children> <ChildName name = "Son" /> <ChildName name = "Daughter" /> </Children> </Parent> <Parent id="B" description="A is a parent"> <Children> <ChildName name = "Son" /> <ChildName name = "Daughter" /> </Children> </Parent>
我的代碼
XDocument myXMLDocument = XDocument.Load("File.xml");
XElement myParentsElement = myXMLDocument.Element("Parents");
XElement myFirstParentElement = myParentsElement.Element("Parent");
XElement myNewParentElement = new XElement(myFirstParentElement);
XAttribute myParentId = myNewParentElement.Attribute("id");
myParentId.Value = "B";
myFirstParentElement.AddAfterSelf(myNewParentElement);
myXMLDocument.Save("NewFile.xml");
而且這工作完全正常,沒有任何問題。顯然,這不是一個好的編程。因爲我提取元素父母,然後使用它作爲根節點,我提取父等,
我想要能夠做的就是這樣 - 直接鍵入路徑 - 作爲在/ Parents/Parent(XPath)中,提取該特定節點,複製它,修改其屬性,將其添加爲兄弟並保存文檔。
我在做些傻事嗎?