C#如何创建一个空的XML文档并添加根节点

8次阅读

推荐使用XDocument创建空xml文档并添加根节点,如new XDocument(new XElement(“Books”));若用XmlDocument则需CreateElement再appendChild;XDocument还支持自动XML声明和命名空间

C#如何创建一个空的XML文档并添加根节点

在C#中,创建一个空的XML文档并添加根节点,推荐使用 XDocument(来自 System.Xml.linq),它简洁、现代且支持函数式构造。

使用 XDocument 创建空文档并添加根节点

这是最常用、最直观的方式:

  • 调用 XDocument.Create 或直接 new XDocument() 得到空文档
  • new XElement("根元素名") 创建根节点
  • 将根节点赋给文档的 Root 属性,或在构造时传入

示例代码:

using System.Xml.Linq;  XDocument doc = new XDocument(); doc.Root = new XElement("Books"); // 添加根节点  // 或更简洁地一步完成: // XDocument doc = new XDocument(new XElement("Books"));  Console.WriteLine(doc.ToString()); // 输出:

使用 XmlDocument 创建空文档并添加根节点

如果项目仍使用传统的 XmlDocument(位于 System.Xml),流程稍多几步:

  • 新建 XmlDocument 实例
  • 调用 CreateElement 创建根元素
  • AppendChild 将其添加为文档的首个子节点(即根)

示例代码:

using System.Xml;  XmlDocument doc = new XmlDocument(); XmlElement root = doc.CreateElement("Catalog"); doc.AppendChild(root);  Console.WriteLine(doc.OuterXml); // 输出:

注意命名空间和声明(可选但实用)

若需带 XML 声明(如 )或默认命名空间,XDocument 更方便:

  • 声明自动包含:构造 XDocument 时默认生成 XML 声明
  • 添加命名空间:new XElement("{http://example.com}Books")
  • 显式控制声明:new XDocument(new XDeclaration("1.0", "utf-8", "yes"), new XElement("Root"))

保存到文件或字符串

完成后可轻松输出:

  • doc.Save("output.xml") —— 保存到文件
  • doc.ToString()doc.ToString(SaveOptions.None) —— 获取格式化字符串
  • doc.ToString(SaveOptions.DisableFormatting) —— 获取紧凑格式(无缩进)

text=ZqhQzanResources