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

在C#中,创建一个空的XML文档并添加根节点,推荐使用 XDocument(来自 System.Xml.Linq),它简洁、现代且支持函数式构造。
使用 XDocument 创建空文档并添加根节点
这是最常用、最直观的方式:
- 调用
XDocument.Create或直接 newXDocument()得到空文档 - 用
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)—— 获取紧凑格式(无缩进)










