我试图将 XML 文件( 带有“ NDS” 扩展名) 作为数据读入我的 Android 应用程序。 我选择使用 DOM DocumentBilder 路径, 称之为其分析方法 。
问题在于节点名称之一中存在非 ASCII delta () 字符。 这导致分析操作以 DOM 例外方式失败。 我解开违规线时, 它有效 。
我用.NET 库方法在 Windows 下创建的 XML 文件, 它有 < code_ lt;? xml 版本= "1.0" 编码= "utf-8"? & gt; 。 (我还注意到此页头前面有 3 byte 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_3033SQLEXPRESS" 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 正确解释 。