如何在 C# 中从字符串填充 XDocument?
csharpserver side programmingprogramming更新于 2025/6/28 3:52:17
XML 是一种自描述语言,它提供数据以及用于识别其所含信息的规则。与 HTML 类似,XML 是 SGML(标准通用标记语言)的子集。
XDocument 类包含有效 XML 文档所需的信息,包括 XML 声明、处理指令和注释。
请注意,只有在需要 XDocument 类提供的特定功能时,才需要创建 XDocument 对象。在许多情况下,我们可以直接使用 XElement。直接使用 XElement 是一种更简单的编程模型。
XDocument 派生自 XContainer。因此,它可以包含子节点。但是,XDocument 对象只能有一个 XElement 子节点。这符合 XML 标准,即一个 XML 文档中只能有一个根元素。 XDocument 在 System.Xml.Linq 命名空间中可用。
示例
我们考虑下面的字符串,它是 XML 格式,需要填充为 XML。
<Departments>
<Department>Account</Department>
<Department>Sales</Department>
<Department>Pre-Sales</Department>
<Department>Marketing</Department>
</Departments>
using System;
using System.Xml.Linq;
namespace DemoApplication{
public class Program{
public static void Main(){
string xmlString = @"<Departments>
<Department>Account</Department>
<Department>Sales</Department>
<Department>Pre-Sales</Department>
<Department>Marketing</Department>
</Departments>";
XDocument xml = XDocument.Parse(xmlString);
Console.ReadLine();
}
}
}
类似地,如果我们想将包含 xml 的文件转换为 XDocument,我们可以使用 XDocument.Load(path)。
示例
using System;
using System.Xml.Linq;
namespace DemoApplication{
public class Program{
public static void Main(){
string xmlPath = @"D:\DemoXml.txt";
XDocument xml = XDocument.Load(xmlPath);
Console.ReadLine();
}
}
}
输出
在上述两种情况下,xmlString 都会转换为 Xdocumet,如下所示。


