簡體   English   中英

當文件的編碼為Unicode時C#XmlDocument.Load(string)失敗

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM