我想从这个 rss 提要解析 xml ,但我只是得到这样的东西:
“新来的
最后更新时间:5 月 28 日下午 6:45"
我没有足够的声誉,所以我只能发布文字而不是图片。请原谅我。
我真的是一个Android新手,所以我从这个网站复制了代码并进行了一些更改以解析上述xml数据。我阅读了其他人的问题并认为问题出在“频道”标签上,但经过一些修改,没有任何改变。下面是核心代码:
private List<Entry> readFeed(XmlPullParser parser) throws XmlPullParserException, IOException {
List<Entry> entries = new ArrayList<Entry>();
parser.require(XmlPullParser.START_TAG, ns, "rss");
parser.next();//I add this statement to pass the channel tag but it doesn't work
while (parser.next() != XmlPullParser.END_TAG) {
String name = parser.getName();
if (parser.getEventType() != XmlPullParser.START_TAG) {
continue;
}
// Starts by looking for the entry tag
if (name.equals("item")) {
entries.add(readEntry(parser));
} else {
skip(parser);
}
}
return entries;
}
private Entry readEntry(XmlPullParser parser) throws XmlPullParserException, IOException {
parser.require(XmlPullParser.START_TAG, ns, "item");
String title = null;
String description = null;
String link = null;
while (parser.next() != XmlPullParser.END_TAG) {
if (parser.getEventType() != XmlPullParser.START_TAG) {
continue;
}
String name = parser.getName();
if (name.equals("title")) {
title = readTitle(parser);
} else if (name.equals("description")) {
description = readDescription(parser);
} else if (name.equals("link")) {
link = readLink(parser);
} else {
skip(parser);
}
}
return new Entry(title, description, link);
}
如果有人可以提供帮助,我将不胜感激。