C#修改XML节点应使用XmlDocument或XDocument类,避免字符串替换;XmlDocument适合小中型文件且API直观,XDocument支持LINQ更现代;需注意加载、定位、修改、保存全流程及编码、命名空间、空引用等常见问题。

用C#修改XML节点,核心是加载文档、定位节点、更新值或属性,再保存。推荐用 XmlDocument(适合小中型文件,API直观)或 XDocument(LINQ支持好,更现代)。别直接字符串替换,容易破坏结构。
适合快速定位并修改文本值、属性,尤其已有明确XPath路径时:
示例:把
var doc = new XmlDocument();
doc.Load("config.xml");
var nameNode = doc.SelectSingleNode("//user/name");
if (nameNode != null) nameNode.InnerText = "李四";
doc.Save("config.xml");语法更简洁,支持LINQ查询,修改更安全:
示例:更新所有 status="pending" 的订单状态为 "processed"
var xdoc = XDocument.Load("orders.xml");
xdoc.Descendants("order")
.Where(e => e.Attribute("status")?.Value == "pending")
.ToList()
.ForEach(e => e.SetAttributeValue("status", "processed"));
xdoc.Save("orders.xml");修改前先确保父节点存在,避免 NullReferenceException:
比如添加一个新配置项:<setting key="theme" value="dark"></setting>,先找到
实际写入时容易忽略这些细节:
doc.Save(new StreamWriter("file.xml", false, Encoding.UTF8))
基本上就这些。选 XmlDocument 还是 XDocument,看团队习惯和项目需求。小文件、简单操作两者都行;复杂查询或需要链式处理,XDocument 更顺手。
以上就是C#怎么修改XML节点 C#动态更新XML文件内容教程的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号