【问题标题】:android parsing error on tablet but not emulator平板电脑上的android解析错误但不是模拟器
【发布时间】:2011-10-24 01:35:51
【问题描述】:

我有这个例外:

org.xml.saxParseException: 意外令牌(位置 TEXT@1:2...)

但只有在平板电脑上运行我的 .apk 时才会出现这种情况。在 android 模拟器上解析的相同数据永远不会导致此异常并且可以 100% 工作。有什么想法吗?

以下是引发异常的代码:

DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
DocumentBuilder db = dbf.newDocumentBuilder();
InputSource inputSource = new InputSource();
inputSource.setCharacterStream(new StringReader(xmlData));
Document doc = db.parse(inputSource); 

这是文件的一部分:

<Results> <Result title="08 07 2011"><Field title="blah blah" value="blah blah" /> </Result></Results>

【问题讨论】:

    标签: android parsing exception


    【解决方案1】:

    默认字符集不同,也许吧? XML 中是否包含字符集?

    【讨论】:

    • 我在模拟器中使用的语言环境是希腊语。平板电脑中的语言环境是英语。您认为xml文件中写入的希腊字符会导致这种情况吗?
    • 确实,该文件是后来创建的,并且是用 ANSI 编码的。谢谢!
    • 是的,我确实这么认为。源数据采用什么编码?字符串 xmlData 是否正确包含希腊字符?尝试跟踪源字符串字符的位置,检查它是否是希腊字符。
    • 这是整个文件的编码而不是希腊字符。另一个 xml 被正确创建为 utf-8。有问题的文件是作为 ansi 创建的,所以这就是问题的根源。
    猜你喜欢
    • 1970-01-01
    • 2013-12-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-04-19
    • 1970-01-01
    • 2014-12-16
    相关资源
    最近更新 更多