如何使用 C# 修改 XML 节点

本文关键字:XML 节点 修改 何使用 | 更新日期: 2023-09-27 18:36:04

有那个XML文件:

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
 <applicationSettings>
  <AllSettings>
   <setting name="setting1" serializeAs="String">
    <value>myValue</value>
   </setting>
  </AllSettings>
 </applicationSettings>
</configuration>

我想将<value>的值更改为其他值,我已经尝试了几种方法,但找不到属性<value>

如何使用 C# 修改 XML 节点

您可以使用 XElement.ReplaceWith:

XDocument doc = XDocument.Load("data.xml");
XElement value = doc.Root.Descendants("value").SingleOrDefault();
value.ReplaceWith(new XElement("value", "newValue"));
doc.Save("data.xml");

或者,正如另一个答案所建议的,XElement.SetValue:

value.SetValue("newValue");

您可以在XDocument对象(System.Xml.Linq命名空间)中加载 XML,然后像这样更改值:

// load XML from string:
var xdoc = XDocument.Parse(xml);
// or load XML from file:
var xdoc = XDocument.Load("filename.xml");
// change value
xdoc.Root.Element("applicationSettings").Element("AllSettings").Element("setting").Element("value").SetValue("myNewValue");