我有几天在Android上使用XMLPullParser进行XML解析的问题。我正在尝试解析这个问题:
<media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://3.bp.blogspot.com/-6JMmPoQTJOc/UoYaJT9Ih9I/AAAAAAAAE7I/mnO_69i8rAs/s72-c/ANTICIPA-Logo.png" height="72" width="72"/>
我想获取图片网址,这是我成功完成的。但是,我无法检测到END_TAG,我不知道该怎么做。
这是我的解析代码:
private String readImage(XmlPullParser parser) throws IOException, XmlPullParserException {
parser.require(XmlPullParser.START_TAG, ns, "media:thumbnail");
String imageLink = parser.getAttributeValue(null, "url");
parser.require(XmlPullParser.END_TAG, ns, "thumbnail"); // THIS LINE HAS A PROBLEM
Log.d("DEBUG", imageLink);
return imageLink;
}
我试图给出“缩略图”,“媒体:缩略图”,“/”,似乎没什么用。你有什么想法吗?
答案 0 :(得分:1)
您无法检测到结束标记,因为没有结束标记:缩略图标记是自动关闭的。在您的解析代码中,当您第二次调用parser.require
时(代码片段的第4行),您会说如果我现在不在结束标记处,则抛出异常。所以,当然它会引发异常。
解决方案很简单:删除对parser.require
的第二次调用。