0
我有一個循環的XML文件報告此代碼加載:的XDocument失敗的AAO字符(VB.net)
Dim xmlr As XDocument = XDocument.Load("Myfile.xml")
For Each report As XElement In xmlr.Descendants("Report")
'Do stuff with report values
Next
這個工作,但如果文件中包含類似AAO字符我得到一個錯誤。 xml文檔具有編碼UFT-8;
<?xml version="1.0" encoding="utf-8"?>
我在這裏找到了this post,並試着用這個代碼代替,但它沒有幫助;
Dim xmlr As XDocument
Using oReader As StreamReader = New StreamReader("Myfile.xml", Encoding.GetEncoding("UTF-8"))
xmlr = XDocument.Load(oReader)
End Using
有什麼建議嗎?
你準確得出哪個錯誤?如果文檔在其聲明中聲明爲UTF-8,並且它實際上是UTF-8編碼,那麼XML解析器不會發生抱怨。如果你得到一個錯誤,那麼這些變音符號不正確的UTF-8編碼。因此,解決方法是嘗試使用'使用oReader作爲StreamReader =新的StreamReader(「Myfile.xml」,Encoding.Default),它通常是Windows-1252等8位Windows代碼頁。 –
當然,正確的方法不是修復解析步驟,而是確保生成XML的代碼已修復以正確編碼文檔。 –
試着用'新的StreamReader( 「myfile.xml中」,Encoding.Default)'或'新的StreamReader解析( 「myfile.xml中」,Encoding.GetEncoding(1252))'。或者修復生成XML的代碼。 –