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

用C#修改XML节点,核心是加载文档、定位节点、更新值或属性,再保存。推荐用 XmlDocument(适合小中型文件,API直观)或 XDocument(LINQ支持好,更现代)。别直接字符串替换,容易破坏结构。
用 XmlDocument 修改节点内容
适合快速定位并修改文本值、属性,尤其已有明确XPath路径时:
- 用 Load() 或 LoadXml() 加载XML
- 用 SelectSingleNode() 或 SelectNodes() 找到目标节点(支持XPath)
- 修改 InnerText(改文本)、InnerXml(含子元素)、或 SetAttribute()(改属性)
- 调用 Save() 写回文件
示例:把
var doc = new XmlDocument();
doc.Load("config.xml");
var nameNode = doc.SelectSingleNode("//user/name");
if (nameNode != null) nameNode.InnerText = "李四";
doc.Save("config.xml");登录后复制
用 XDocument 动态更新(推荐新项目)
语法更简洁,支持LINQ查询,修改更安全:
- 用 XDocument.Load() 加载
- 用 Descendants() 或 Elements() 查找节点
- 直接赋值修改 Value(文本)、SetAttributeValue()(属性)
- 调用 Save() 保存
示例:更新所有 status="pending" 的订单状态为 "processed"
标签: node 编码 app 中文乱码 stream 常见问题 c#
还木有评论哦,快来抢沙发吧~