如何在 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,如下所示。


相关文章