C# 如何从内存中的xml字符串创建XDocument

来源:这里教程网 时间:2026-02-21 17:29:03 作者:

在 C# 中,你可以使用 XDocument.Parse() 方法从内存中的 XML 字符串创建一个 XDocument 对象。这个方法是 System.Xml.Linq 命名空间中的一部分,使用起来非常简单直接。

使用 XDocument.Parse() 解析 XML 字符串

只要你的 XML 内容是一个有效的字符串,就可以通过 XDocument.Parse() 将其加载为 XDocument 实例。

示例代码:

using System;
using System.Xml.Linq;
<p>string xmlString = @"<root>
<person id=\"1\">
<name>张三</name>
<age>30</age>
</person>
<person id=\"2\">
<name>李四</name>
<age>25</age>
</person>
</root>";</p><p>try
{
XDocument doc = XDocument.Parse(xmlString);
Console.WriteLine(doc.ToString());
}
catch (Exception ex)
{
Console.WriteLine("解析 XML 失败: " + ex.Message);
}</p>

注意事项和建议

确保传入的字符串是格式良好的 XML,否则会抛出 XmlException 如果 XML 字符串可能为空或 null,应提前判断,避免运行时异常。 若需保留注释或处理声明(如 XML 声明),XDocument.Parse() 默认都会保留。 对于大文件或流式处理场景,考虑使用 XElementXmlReader 提升性能。

与 XDocument.Load() 的区别

XDocument.Parse() 用于已加载到内存中的字符串;而 XDocument.Load() 通常用于从文件路径、Stream 或 XmlReader 加载 XML。

例如从字符串 Stream 加载:

using (var stream = new StringReader(xmlString))
{
    XDocument doc = XDocument.Load(stream);
}

基本上就这些。如果你只是处理一个字符串形式的 XML,XDocument.Parse(xmlString) 是最直接的方式。

相关推荐