如何使用c#动态更改xml节点的属性

use*_*315 3 c# xml xmlnode xml-attribute

我有一个ac#应用程序,可以将用户的数据保存到xml文档中.我希望能够根据输入不同条件的用户动态更改xml节点的属性到文本框中,并选择保存/覆盖现有文件保存.问题是我不能简单地删除节点并使用new属性重新创建节点,因为节点具有无法删除的子节点.

有没有人有任何想法或建议?

XmlNode.Attributes方法没有提供一种方法,因为我可以告诉它只删除节点的属性并重新分配它.我可能错了.

cae*_*say 16

将节点转换为XmlElement并使用该element.SetAttribute(...);方法.

((XmlElement)node).SetAttribute("name", "value");
Run Code Online (Sandbox Code Playgroud)

另外我相信如果你知道属性已经存在,有一种方法可以在没有强制转换的情况下执行:

node.Attributes["name"].Value = "value";
Run Code Online (Sandbox Code Playgroud)

  • 即使属性不存在,SetAttribute 也可以工作 (2认同)