2012-09-14 57 views
2

我有一個將用戶數據保存到xml文檔的c#應用程序。我希望能夠根據用戶在文本框中輸入不同條件來動態更改xml節點的屬性,並選擇保存/覆蓋現有文件保存。問題是我不能簡單地刪除節點並用新屬性重新創建節點,因爲節點具有無法刪除的子節點。如何使用c動態更改xml節點的屬性#

有沒有人有任何想法或建議?

XmlNode.Attributes方法不提供一種方式,因爲我可以告訴只刪除節點的屬性並重新分配它。但我可能是錯的。

+1

開始使用的XDocument,不XmlDocument的。除非你還在使用Fx 2. –

+0

對於我來說停止使用XmlDocument已經太晚了。我已經做得太多了。感謝您的建議,儘管 – user1546315

+0

有你的方式。 'XAttribute.Value'只是可寫的。 –

回答

10

將您的節點轉換爲XmlElement並使用element.SetAttribute(...);方法。

((XmlElement)node).SetAttribute("name", "value"); 

而且我相信有辦法做到這一點不投,如果你知道這個屬性已經存在:

node.Attributes["name"].Value = "value"; 
+0

即使屬性不存在,SetAttribute也可以工作 –