XmlDocument 是 .NET 中基于 DOM 的 XML 操作类,支持从字符串、文件、URL 或 XmlReader 加载,可随机读写节点、XPath 查询,保存时需用 XmlWriter 设置缩进;注意内存占用、DTD 处理、命名空间及线程安全问题。

XmlDocument 是 .NET 中操作 XML 文档的核心类之一,属于 System.Xml 命名空间。它基于 DOM(文档对象模型),把整个 XML 加载到内存中,支持随机读写、节点增删改查、XPath 查询等。下面直接说怎么用它加载和保存 XML。
有多种方式把 XML 数据加载进 XmlDocument 实例:
LoadXml(string xml) 方法,适合已知 XML 内容的场景。Load(string filename) 或 Load(Stream),自动识别编码并解析文件。Load(string url)(需网络可访问,注意安全限制)。Load(XmlReader),适合需要精细控制解析过程的情况(如跳过 DTD、设置验证选项)。示例(从文件加载):
XmlDocument doc = new XmlDocument();
doc.Load("config.xml"); // 自动处理编码,如 UTF-8、UTF-16 等加载后,可通过 DocumentElement、SelectNodes()、GetElementsByTagName() 等方法定位节点,再调用 CreateElement、CreateTextNode、AppendChild、RemoveChild、SetAttribute 等进行修改。
常见操作:
XmlNode node = doc.SelectSingleNode("//user[@id='123']");
node.Attributes["status"].Value = "active";
node.AppendChild(doc.CreateElement("role")).InnerText = "admin";
node.ParentNode.RemoveChild(node);
保存分两种常用方式:
Save(string filename),会以原始编码(或 UTF-8 默认)写入,保留格式但不自动缩进。XmlTextWriter 或 XmlWriter,设置 Formatting.Indented。示例(带缩进保存):
XmlWriterSettings settings = new XmlWriterSettings
{
Indent = true,
IndentChars = " ",
Encoding = Encoding.UTF8
};
using (XmlWriter writer = XmlWriter.Create("output.xml", settings))
{
doc.Save(writer);
}使用 XmlDocument 时要注意几点:
XmlReader/XmlWriter 流式处理。XmlResolver = null 禁用。XmlNamespaceManager 的配合(尤其用 XPath 查询时)。XDocument 配合不可变操作)。以上就是C# XmlDocument类怎么用 XmlDocument加载和保存XML的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号