XML ファイル (拡張子「NDS」) をデータとして Android アプリに読み込もうとしています。私は DOM DocumentBuilder ルートを選択し、その parse メソッドを呼び出します。
問題は、ノード名の 1 つに非 ASCII デルタ (Δ) 文字が存在することです。これにより、解析操作が DOMException で失敗します。問題のある行を削除すると、機能します。
.NET ライブラリ メソッドを使用して Windows で作成した XML ファイル自体には、.NET というヘッダーがあり<?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>
デルタ文字は UTF-8 で受け入れられると思われるかもしれませんが、実際、この XML は Internet Explorer によって適切に解釈されます。