C#怎么创建XML文档 XmlDocument使用方法

6次阅读

XmlDocument 是 C# 中基于 DOM 模型操作 XML 的核心类,支持创建、修改、保存和查询;需手动添加声明与根节点,通过 CreateElement/AppendChild 构建结构,用 SetAttribute 添加属性,Save/Load 实现持久化,XPath 提供精准节点定位。

C# 怎么创建 XML 文档 XmlDocument 使用方法

XmlDocument 是 C# 中用于创建、读取、修改和保存 XML 文档的核心类,属于 System.Xml 命名空间。它基于 DOM(文档对象模型),把整个 XML 加载到内存中,适合对 XML 进行随机访问和频繁修改的场景。

创建空的 XmlDocument 并添加根节点

新建一个 XmlDocument 实例后,需手动创建声明和根元素才能构成合法 XML:

  • 调用 CreateXmlDeclaration("1.0", "utf-8", null) 创建 XML 声明
  • CreateElement("根标签名") 创建根节点
  • AppendChild() 依次追加声明和根节点

示例代码:

XmlDocument doc = new XmlDocument(); XmlDeclaration decl = doc.CreateXmlDeclaration("1.0", "utf-8", null); XmlElement root = doc.CreateElement("Books"); doc.AppendChild(decl); doc.AppendChild(root);

向 XML 中添加子节点和属性

在已有节点上可继续添加子元素、文本内容或属性:

  • CreateElement() 创建新元素,再用 AppendChild() 添加进父节点
  • CreateTextNode("内容") 创建文本节点并附加到元素下(实现“元素内容”)
  • CreateAttribute("name") 创建属性,设置 Value 后通过 SetAttributeNode() 或直接用 SetAttribute("name", "value")

例如为 Book 添加带 ID 属性和 Title 子节点:

XmlElement book = doc.CreateElement("Book"); book.SetAttribute("ID", "1"); 

XmlElement title = doc.CreateElement("Title"); title.AppendChild(doc.CreateTextNode("C# 编程入门")); book.AppendChild(title);

root.AppendChild(book);

保存和加载 XML 文档

生成好结构后,用 Save() 方法写入文件或流;加载已有 XML 则用 Load()LoadXml()

  • doc.Save("books.xml") —— 直接保存到文件(自动 编码 为 UTF-8)
  • doc.Load("books.xml") —— 从文件加载完整 XML
  • doc.LoadXml("Hello") —— 从字符串加载

查找和修改已有节点

常用查询方式有 GetElementsByTagName()SelectNodes()/SelectSingleNode()(支持 XPath):

  • XmlNodeList books = doc.GetElementsByTagName("Book"); —— 获取所有 Book 元素
  • XmlNode firstTitle = doc.SelectSingleNode("//Book/Title"); —— 用 XPath 查找第一个 Title
  • 修改节点内容:firstTitle.InnerText = "新标题";
  • 删除节点:firstTitle.ParentNode.RemoveChild(firstTitle);

注意:使用 XPath 需确保已引入 System.Xml.XPath,且文档结构清晰时推荐 XPath 提高定位精度。不复杂但容易忽略编码与节点层级关系。

星耀云
版权声明:本站原创文章,由 星耀云 2025-12-30发表,共计1568字。
转载说明:转载本网站任何内容,请按照转载方式正确书写本站原文地址。本站提供的一切软件、教程和内容信息仅限用于学习和研究目的;不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负。本站信息来自网络,版权争议与本站无关。
text=ZqhQzanResources