我正在尝试使用 XDocument 方法读取 xml 文档。
但当 xml 有时我收到错误
<?xml version="1.0" encoding="utf-16"?>
当我手动删除编码时。它工作得很好。
我收到错误“没有 Unicode 字节顺序标记。无法切换到 Unicode。 "
我尝试搜索并找到了这里-->
为什么包含 XML 标头时 C# XmlDocument.LoadXml(string) 会失败? https://stackoverflow.com/questions/310669/why-does-c-xmldocument-loadxmlstring-fail-when-an-xml-header-is-included
但无法解决我的问题。
我的代码:
XDocument xdoc = XDocument.Load(path);
有什么建议 ??
谢谢。
您尝试读取的文件似乎未编码为 Unicode。您可以通过尝试打开一个编码为 ANSI 的文件来复制该行为,并且 XML 文件中的编码指定为utf-16
.
如果您无法确保文件编码正确,那么您可以将文件读入流中(让StreamReader
检测编码),然后创建XDocument
:
using (StreamReader sr = new StreamReader(path, true))
{
XDocument xdoc = XDocument.Load(sr);
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)