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

C# 如何使用c动态更改xml节点的属性#,c#,xml,xmlnode,xml-attribute,C#,Xml,Xmlnode,Xml Attribute,我有一个c#应用程序,它将用户的数据保存到xml文档中。我希望能够根据用户在文本框中输入不同条件并选择保存/覆盖现有文件的情况,动态更改xml节点的属性。问题是,我不能简单地删除节点并使用新属性重新创建它,因为节点具有无法删除的子节点 有人有什么想法或建议吗 Attributes方法并没有提供一种方法,我可以告诉您,只需深入研究节点的属性并重新分配它。但是我可能错了。将节点强制转换为XmlElement并使用元素.SetAttribute(…)方法 ((XmlElement)node).SetA

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

有人有什么想法或建议吗


Attributes方法并没有提供一种方法,我可以告诉您,只需深入研究节点的属性并重新分配它。但是我可能错了。

将节点强制转换为XmlElement并使用
元素.SetAttribute(…)方法

((XmlElement)node).SetAttribute("name", "value");
此外,如果您知道该属性已经存在,我相信有一种方法可以在不使用强制转换的情况下完成此操作:

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

首先使用XDocument,而不是XmlDocument。除非你还在使用FX2,否则我现在停止使用XmlDocument已经太晚了。我已经做了太多了。谢谢你的建议,随你的便
XAttribute.Value
是可写的。即使属性不存在,SetAttribute也可以工作