我尝试为 RSS 和 Atom 制作解析器,其中 RSS 提要显示标题,而 Atom 显示图像和描述以及链接。看来我的解析器只适用于 RSS。你能告诉我为什么吗?检查这个:
public void Get_Parse_Feed(String URL_link, Input_Streamer_Class is, List<String> headlines, List<String> links)
{
try
{
// URL
is = new Input_Streamer_Class();
/*
*
* Reserved URLS:
* --> http://feeds.pcworld.com/pcworld/latestnews
* --> http://feeds2.feedburner.com/boy-kuripot
* --> http://feeds2.feedburner.com/phcreditcardpromos
* --> http://feeds.feedburner.com/blogspot/MKuf
* --> http://googleblog.blogspot.com/atom.xml
*
*/
is.Set_URL(URL_link);
// Set XML pull factory.
XmlPullParserFactory factory = XmlPullParserFactory.newInstance();
factory.setNamespaceAware(false);
XmlPullParser xpp = factory.newPullParser();
// Picking up input stream...
xpp.setInput(is.Get_Input_Stream(is.Get_URL()), "UTF_8");
// Check for inside item.
boolean insideItem = false;
// Pick event type. (START_TAG, END_TAG, etc.)
int eventType = xpp.getEventType();
while(eventType != XmlPullParser.END_DOCUMENT)
{
if(eventType == XmlPullParser.START_TAG)
{
if(xpp.getName().equalsIgnoreCase("item"))
{
insideItem = true;
} else if(xpp.getName().equalsIgnoreCase("title")) {
if(insideItem)
{
headlines.add(xpp.nextText()); // --> Extract the headline.
}
} else if(xpp.getName().equalsIgnoreCase("link")) {
if(insideItem)
{
links.add(xpp.nextText()); // --> Extract the link of article.
}
}
} else if((eventType == XmlPullParser.END_TAG) && xpp.getName().equalsIgnoreCase("item")) {
insideItem = false;
}
eventType = xpp.next(); // --> Move to the next element.
}
} catch(MalformedURLException e) {
e.printStackTrace();
} catch(XmlPullParserException e) {
e.printStackTrace();
} catch(IOException e) {
e.printStackTrace();
}
}
每次当我找到本教程并为自己使用 MVC 进行管理时,结果都令人印象深刻。但是,当我尝试实现一个包含 Atom 提要的 URL 时,它没有显示出来。