【发布时间】:2009-12-04 02:54:01
【问题描述】:
所以我必须解析包含嵌套标签的丑陋文件,例如
<p>blah<strong>lah</strong>blah</p>
嵌套标签已定义,我不关心它们。但他们让 XmlPullParser 失败:
XmlPullParser parser = XmlPullParserFactory.newInstance().newPullParser();
parser.setInput(some_reader);
while (parser.next() != XmlPullParser.END_DOCUMENT) {
if (XmlPullParser.START_TAG == event) {
String tag = parser.getName();
if (tag != null) {
tag = tag.toLowerCase();
} else {
continue;
}
if ("p".equals(tag)) {
String text = parser.nextText();
// and here we go
// org.xmlpull.v1.XmlPullParserException: expected: /p read: strong
}
}
}
问题:如果不对文件进行预处理,去除所有不必要的标签或使用第三方库,我是否有机会逃脱?
编辑: 更新了 sn-p 以使其真正有意义。
【问题讨论】:
-
那次失败有些问题。这绝对是一个格式良好的 XML sn-p。我会质疑 XmlPullParser 工具的功能。
-
你确定你的问题 sn-p 不是
blahlah
blah? -
你需要一个像 here 解释的通用解析器
标签: android xmlpullparser