C#怎么将XML字符串加载到XDocument对象

12次阅读

XDocument.Parse() 是最常用且简单可靠的 XML 字符串加载方式,适用于格式正确、内容已知的字符串;若字符串为空、null 或非法则抛 XmlException,需 try-catch;不自动处理 BOM 或编码声明,仅要求字符串本身为合法 UTF-16/UTF-8 文本。

C# 怎么将 XML 字符串加载到 XDocument 对象

直接用 XDocument.Parse() 方法就能把 XML 字符串加载成 XDocument 对象,简单可靠。

用 Parse() 加载字符串

这是最常用的方式,适用于格式正确、内容已知的 XML 字符串:

  • XDocument doc = XDocument.Parse(xmlString);
  • 如果 xmlString 为空、null 或格式非法,会抛出 XmlException,建议加 try-catch
  • 注意:不会自动处理 BOM 或 编码 声明,只要字符串本身是合法的 UTF-16/UTF-8 编码文本即可

从字符串流加载(更灵活)

当需要控制编码或处理带 BOM 的文本时,可用 StringReader 配合 XmlReader

  • using var reader = XmlReader.Create(new StringReader(xmlString));
  • var doc = XDocument.Load(reader);
  • 适合需要自定义读取行为(如忽略注释、设置 DTD 处理等)的场景

加载时验证结构(可选)

若需校验 XML 是否符合某 XSD,得先用 XmlSchemaSet 配合 XmlReaderSettings,再传给 XDocument.Load()

  • Parse() 不做任何验证,只确保语法合法
  • 验证逻辑需额外编写,不属于加载本身,一般用于数据导入等强校验场景

基本上就这些。日常使用 XDocument.Parse() 足够,出错时捕获 XmlException 就行。

星耀云
版权声明:本站原创文章,由 星耀云 2025-12-14发表,共计731字。
转载说明:转载本网站任何内容,请按照转载方式正确书写本站原文地址。本站提供的一切软件、教程和内容信息仅限用于学习和研究目的;不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负。本站信息来自网络,版权争议与本站无关。
text=ZqhQzanResources