我想使用XmlDocument.Load(String)方法从xml文件加载XMLDocument,但是当我尝试使用它时出现此错误:
System.Xml.XmlException:“。”(十六进制值0x00)无效 字符。第2行,位置1。
当我尝试在Visual Studio中打开文件时,文件的编码为 Unicode ,Visual Studio会自动切换为 Unicode(UTF-8)。 用* Unicode(UTF-8)编码保存文件后,该程序运行完美。
为什么会发生这种情况,并且可以使用此方法加载Unicode编码的文件?
答案 0 :(得分:0)
通过使用 StreamReader 类加载文件的内容,然后使用 XmlDocument.Load(Stream)方法,我能够解决此问题。
代码如下:
XmlDocument xmlDocument = new XmlDocument();
StreamReader reader = new StreamReader(filePath);
xmlDocument.Load(reader);
reader.Close();