1
我已經創建了XmlAttribute,並將它添加到XmlNode,一切正常。
當試圖將相同的XmlAttribute添加到另一個XmlNode時,它會從我添加到的第一個XmlNode的屬性截取。C#不能在2個Xmlnode中添加相同的XmlAttribute
我的情景是這樣的:
父節點有能力,如果這種能力可用,那麼我已經創建了一個新節點並將其設置爲該父節點的子節點。
父節點有3個(X-Y-Z)屬性,如果父節點有能力,那麼我創建子節點,並向它添加這些屬性。
我的問題是,當我這樣做:
fatherNode.Attributes.Append(attribute1);
的屬性添加到收藏,但是當我做這個算賬:
childNode.Attributes.Append(attribute1);
它消除了從fatherNode屬性,現在它只是在childNode 。
這是什麼行爲?有沒有辦法避免它?
變通的工作,說不上爲什麼XmlDocument的是這樣的設計。 – ilansch
XmlAttribute有屬性ParentNode,如果你將它追加到第二個節點,它的parentNode被設置爲這個新的,並失去對舊的引用 –
是的,我看到它,但我在我的屬性集合fatherNode中設置對XmlAttribute的引用,所以怎麼來這個參考被改變了嗎?我知道改變ParentNode的屬性,但爲什麼還更新父親的屬性,他們可以保留它。這種方式parentNode應該被稱爲LatestParentNode :) – ilansch