C# 操作 XML 文件最常用、最直接的方式就是用 XmlDocument
类,它基于 DOM(文档对象模型),把整个 XML 加载到内存中,支持增删改查、遍历和保存,适合中小型 XML 文件(几 MB 以内)。下面讲清楚怎么读、怎么写、怎么改,不绕弯子。
加载和读取 XML 内容
用
Load()或
LoadXml()把 XML 载入内存,再用
SelectNodes()/
SelectSingleNode()配合 XPath 查找节点。 从文件加载:
doc.Load("config.xml");
从字符串加载:doc.LoadXml("<root><item id="1">A</item></root>");
查所有 item 元素:var nodes = doc.SelectNodes("//item");
取第一个 item 的 id 属性:string id = node.Attributes["id"]?.Value;取文本内容:
string text = node.InnerText.Trim();
创建和添加新节点
用
CreateElement()、
CreateAttribute()等方法生成节点,再用
AppendChild()或
InsertBefore()插入到目标位置。 新建元素:
XmlElement newItem = doc.CreateElement("item");
加属性:newItem.SetAttribute("id", "3");
加文本子节点:newItem.InnerText = "New Value";插入到 root 下:
doc.DocumentElement?.AppendChild(newItem);
修改和删除已有节点
找到目标节点后,直接改
InnerText、
Attributes,或调用
RemoveChild()/
RemoveAll()。 改文本:
node.InnerText = "Updated";改属性:
node.Attributes["id"].Value = "99";删某个子节点:
parentNode.RemoveChild(targetNode);清空所有子节点:
node.RemoveAll();
保存回文件或字符串
改完别忘了保存。用
Save()写入文件,用
OuterXml获取字符串形式(含根节点),
InnerXml只取内部内容。 保存到文件:
doc.Save("config.xml");
获取完整 XML 字符串:string xmlStr = doc.OuterXml;格式化输出(带缩进):先设置
doc.PreserveWhitespace = false;,再用
XmlTextWriter或 .NET 6+ 的
XmlWriter.Create(..., new XmlWriterSettings { Indent = true })
基本上就这些。注意:操作前建议加异常处理(比如文件不存在、XML 格式错误),多层嵌套时 XPath 写准一点,避免空引用。小项目够用,大文件建议换
XmlReader/
XmlWriter流式处理。
