当文件编码为 Unicode 时,C# XmlDocument.Load(string) 失败
C# XmlDocument.Load(string) fails when Encoding for file is Unicode
我想使用 XmlDocument.Load(String) 方法从 xml 文件加载 XMLDocument,但是当我尝试使用它时出现此错误:
System.Xml.XmlException: '.', hexadecimal value 0x00, is an invalid
character. Line 2, position 1.
当我试图在 Visual Studio 中打开文件时,文件的编码是 Unicode 并且 Visual studio 自动切换到 Unicode (UTF-8)。
在我用 *Unicode(UTF-8) 编码保存文件后,程序运行完美。
为什么会出现这种情况,并且可以使用此方法加载 Unicode 编码的文件?
我能够解决这个问题,方法是使用 StreamReader class 加载文件的内容,然后我使用 XmlDocument.Load(流) 方法。
代码如下:
XmlDocument xmlDocument = new XmlDocument();
StreamReader reader = new StreamReader(filePath);
xmlDocument.Load(reader);
reader.Close();
我想使用 XmlDocument.Load(String) 方法从 xml 文件加载 XMLDocument,但是当我尝试使用它时出现此错误:
System.Xml.XmlException: '.', hexadecimal value 0x00, is an invalid character. Line 2, position 1.
当我试图在 Visual Studio 中打开文件时,文件的编码是 Unicode 并且 Visual studio 自动切换到 Unicode (UTF-8)。 在我用 *Unicode(UTF-8) 编码保存文件后,程序运行完美。
为什么会出现这种情况,并且可以使用此方法加载 Unicode 编码的文件?
我能够解决这个问题,方法是使用 StreamReader class 加载文件的内容,然后我使用 XmlDocument.Load(流) 方法。
代码如下:
XmlDocument xmlDocument = new XmlDocument();
StreamReader reader = new StreamReader(filePath);
xmlDocument.Load(reader);
reader.Close();