C# 没有编码的XML文件中的问号在尝试加载时会产生错误

C# 没有编码的XML文件中的问号在尝试加载时会产生错误,c#,xml,C#,Xml,我正在尝试将xml文件加载到xmlDocument对象中。问题是它显示“给定编码中的字符无效”。这是正确的,因为作为输入的xml文件的定义仅显示,并且未指定编码 问号是一个实际的问号。我做了一个小实用程序来搜索文档并找到引起问题的字符,当我找到它并显示在标签上时,它是一个被黑框包围的问号 我想问的是,我仍然需要加载这个文件并对其进行分析,关于如何进行分析有什么帮助吗 我必须指定的xmlDocument对象的任何配置 谢谢 这样做有效: StreamReader sr =

我正在尝试将xml文件加载到xmlDocument对象中。问题是它显示“给定编码中的字符无效”。这是正确的,因为作为输入的xml文件的定义仅显示
,并且未指定编码


问号是一个实际的问号。我做了一个小实用程序来搜索文档并找到引起问题的字符,当我找到它并显示在标签上时,它是一个被黑框包围的问号

我想问的是,我仍然需要加载这个文件并对其进行分析,关于如何进行分析有什么帮助吗

我必须指定的xmlDocument对象的任何配置

谢谢

这样做有效:

            StreamReader sr = new StreamReader(TxtPath.Text, true);

            XDocument document = XDocument.Load(sr);   

这将以unicode格式加载文档,并修复了非格式化xml文件中奇怪字符的问题。等等,这个问号实际上是问号吗?或者它是一个未显示的unicode字符?基本上,您是说这个XML确实是无效的(由于
XML
声明与文件的编码不匹配),但是您仍然需要解析它吗?问号是一个实际的问号。我做了一个小实用程序来搜索文档并找到引起问题的字符,当我找到它并显示在标签上时,它是一个被黑框包围的问号。没有指定的编码默认为utf-8。这个角色肯定不是问号。尝试将文件加载到十六进制编辑器中以查找实际的字节序列。