使用xmlDocument或XDocument可修改XML节点值:1. XmlDocument通过Load加载文件,SelectSinglenode查找节点,修改InnerText并Save保存;2. XDocument用XDocument.Load加载,Descendants查找节点,设置Value后Save。需注意路径正确、节点存在及属性修改方式。

在 C# 中修改 XML 文件中的节点值,通常使用 XmlDocument 或 XDocument 类。下面介绍两种常用方法,你可以根据需要选择。
使用 XmlDocument 修改节点值
这是传统且常用的方式,适合处理结构清晰的 XML 文件。
步骤如下:
- 加载 XML 文件
- 通过 XPath 查找目标节点
- 修改节点的 InnerText 或 Value
- 保存文件
示例代码:
using System.Xml; <p>XmlDocument doc = new XmlDocument(); doc.Load("example.xml"); // 加载文件</p><p>// 假设要修改 <person><name> 的值 XmlNode node = doc.SelectSingleNode("//person/name"); if (node != null) { node.InnerText = "新名字"; }</p><p>doc.Save("example.xml"); // 保存修改
使用 XDocument 修改节点值(linq to XML)
这是更现代的方法,语法更简洁,推荐用于新项目。
步骤类似:
- 加载 XML
- 查询并定位节点
- 修改值并保存
示例代码:
using System.Xml.Linq; <p>XDocument doc = XDocument.Load("example.xml");</p><p>var element = doc.Descendants("name").FirstOrDefault(); if (element != null) { element.Value = "新名字"; }</p><p>doc.Save("example.xml");
注意事项
实际操作中需要注意以下几点:
- 确保文件路径正确,避免 FileNotFoundException
- 修改前检查节点是否存在,防止空引用异常
- 如果节点有多个,考虑是修改全部还是仅第一个
- 涉及属性值时,用 node[“attr”] 或 element.Attribute(“attr”) 来修改
基本上就这些。选哪种方式取决于你的开发环境和习惯。XmlDocument 更稳定,XDocument 更简洁。


