当文件的编码为Unicode

时间:2018-08-16 09:33:35

标签: c# encoding character-encoding xmldocument

我想使用XmlDocument.Load(String)方法从xml文件加载XMLDocument,但是当我尝试使用它时出现此错误:

  

System.Xml.XmlException:“。”(十六进制值0x00)无效   字符。第2行,位置1。

当我尝试在Visual Studio中打开文件时,文件的编码为 Unicode ,Visual Studio会自动切换为 Unicode(UTF-8)。 用* Unicode(UTF-8)编码保存文件后,该程序运行完美。

为什么会发生这种情况,并且可以使用此方法加载Unicode编码的文件?

1 个答案:

答案 0 :(得分:0)

通过使用 StreamReader 类加载文件的内容,然后使用 XmlDocument.Load(Stream)方法,我能够解决此问题。

代码如下:

 XmlDocument xmlDocument = new XmlDocument();
 StreamReader reader = new StreamReader(filePath);
 xmlDocument.Load(reader);
 reader.Close();