5

我的问题是我必须解析HTML数据

84 101 <br>some text<br><table border='1'>Here comes a table definition</table>

XmlPullParserException抛出以下内容:

while (eventType != XmlPullParser.END_DOCUMENT) {
    if (eventType == XmlPullParser.START_TAG) {
        // do something
    } else if (eventType == XmlPullParser.END_TAG) {
        // do something else 
    }

    eventType = xpp.next(); // the XmlPullParserException is thrown here, on method next()
}

非常有趣和奇怪的部分是:仅在 Nexus S(操作系统版本 4.0.4)上引发异常,在操作系统版本较低的设备上,这种方法效果很好。

错误消息如下:

org.xmlpull.v1.XmlPullParserException: Unexpected token (position:TEXT 84 101 @1:8 in java.io.StringReader@414e3248)

谁能解释一下为什么这只发生在 ICS 上?谢谢。

4

2 回答 2

0

1) 字符编码:您是否对 Nexus S 使用不同的编码?您的文件是用 ANSI 还是 utf 解码的?将其与您的 Nexus S 编码进行比较。

2) 字符集:您是否在 XML 文件中使用不同的字符集。例如,您是否使用任何汉字?Nexus S 的默认设置是什么?

这是首先要检查的两件事。

于 2012-08-17T07:07:03.963 回答
0

使用 CDATA 作为您的 html 标签

Everything inside a CDATA section is ignored by the parser.

A CDATA section starts with "<![CDATA[" and ends with "]]>"

于 2012-08-31T05:32:35.547 回答