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

标签 c# xml xmlnode xml-attribute

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

有没有人有什么想法或建议?

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

最佳答案

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

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

此外,如果您知道该属性已经存在,我相信有一种方法可以在不强制转换的情况下做到这一点:

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

关于c# - 如何使用 C# 动态更改 XML 节点的属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12429792/

相关文章:

c# - 使用 List<T> 而不是 IEnumerable<T> 有什么好处?

c# - 如何使用内部 NameValueCollection 初始化 NameValueCollection

xml - 使用命名空间不可知查询时,VB Script XML selectNodes 会丢失上下文

c# - C#修改XML已有内容

c# - 如何像 Split View Pane 一样转换 UWP 导航 View Pane

c# - 在我的 C# 代码中为 SqlCommand 替换 SqlDataAdapter

java - 使用 JDOM 解析文件中的 SOAP 响应

java - ScrollView XML 布局问题

c# - 在 C# 中确定 XmlNode 是空还是 null?

xml - SelectNodes 返回 0 个元素