我試圖將XML文件(帶有「NDS」擴展名)作爲數據讀入到我的Android應用程序中。我選擇去DOM DocumentBuilder路線,調用它的分析方法。XML解析錯誤:UTF-8
問題是其中一個節點名稱中存在非ASCII delta(Δ)字符。這會導致解析操作在DOMException中失敗。當我剝離違規線路時,它會起作用。
我在Windows下使用.NET庫方法創建的XML文件本身,它的標頭爲<?xml version="1.0" encoding="utf-8"?>
。 (我也注意到這個報頭在前面的3個字節的BOM)。
周圍的那一行XML層次結構看起來像
<?xml version="1.0" encoding="utf-8"?>
<NDS SoftwareIdentity="MicroAnalyzer 2000" SoftwareVersion="3.5.8" WindowsVersion="Microsoft Windows NT 5.1.2600 Service Pack 3" CLRVersion="2.0.50727.3615" MachineName="SYSTEM2000_3033" MachineDescription="" DataSource="System2000_3033\SQLEXPRESS" Date="3/31/2012" Time="11:15 AM">
<ASME_B46_1_2002DataSet xmlns="http://tempuri.org/ASME_B46_1_2002DataSet.xsd">
<ASME_B46_1_2002RoughnessInstanceTable>
<InstanceAppendixId>-1</InstanceAppendixId>
<RΔaEnabled>false</RΔaEnabled>
</ASME_B46_1_2002RoughnessInstanceTable>
</ASME_B46_1_2002DataSet>
</NDS>
你會認爲,Delta字符是UTF-下接受8,實際上這個XML由Internet Explorer正確解釋。
[解析XML文件以DOM時錯誤]的可能重複(http://stackoverflow.com/questions/10692693/error-when-parsing-an-xml-file-to-dom) – Perception