[英]C# XmlDocument.Load(string) fails when Encoding for file is Unicode
我想使用XmlDocument.Load(String)方法從xml文件加載XMLDocument,但是在嘗試使用它時出現此錯誤:
System.Xml.XmlException:'。',十六進制值0x00,是無效字符。 第2行,位置1。
當我嘗試在Visual Studio中打開文件時,文件的編碼為Unicode ,Visual Studio會自動切換為Unicode(UTF-8) 。 用* Unicode(UTF-8)編碼保存文件后,該程序運行完美。
為什么會發生這種情況,並且可以使用此方法加載Unicode編碼的文件?
通過使用StreamReader類加載文件的內容,然后使用XmlDocument.Load(Stream)方法,我能夠解決此問題。
這是代碼:
XmlDocument xmlDocument = new XmlDocument();
StreamReader reader = new StreamReader(filePath);
xmlDocument.Load(reader);
reader.Close();
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.