0
我嘗試創建我的第一個Rss閱讀器,但我遇到了問題。 我有一個類,其方法返回一個提要列表。Android rss(rss 2.0 and atom)解析錯誤:行xxx列xxx:格式不正確(無效令牌)
public ArrayList<FeedsItem> getFeedList()
{
final FeedsItem fi = new FeedsItem(Const.appDebugMode);
final ArrayList<FeedsItem> fl = new ArrayList<FeedsItem>();
/**
* xml parse elements
*/
RootElement root = new RootElement("rss");
Element channel = root.getChild("channel");
Element item = channel.getChild("item");
item.setEndElementListener(new EndElementListener()
{
@Override
public void end()
{
fl.add(fi.getCopy());
}
});
item.getChild("title").setEndTextElementListener(new EndTextElementListener()
{
@Override
public void end(String body)
{
fi.setTitle(body);
}
});
item.getChild("link").setEndTextElementListener(new EndTextElementListener()
{
@Override
public void end(String body)
{
fi.setLink(body);
}
});
item.getChild("description").setEndTextElementListener(new EndTextElementListener()
{
@Override
public void end(String body)
{
fi.setDescr(body);
}
});
item.getChild("pubDate").setEndTextElementListener(new EndTextElementListener()
{
@Override
public void end(String body)
{
fi.setPubDate(body);
}
});
item.getChild("guid").setEndTextElementListener(new EndTextElementListener()
{
@Override
public void end(String body)
{
fi.setGuid(body);
}
});
/**
* парсим feed
*/
try
{
Xml.parse(this.getInputStream(), Xml.Encoding.UTF_8, root.getContentHandler());
} catch (Exception e)
{
new FeedsParserWriteLog(Const.appDebugMode)
.WriteLog("FeedsParcer getFeed (parse xml) err= \n"+e.getLocalizedMessage());
throw new RuntimeException(e);
}
return fl;
}
當我處理文件格式的RSS 2.0 - 一切正常(這樣的鏈接http://news.yandex.ru/software.rss) 當我處理文件格式原子(這樣的鏈接http://ithappens.ru/rss/)-我有一個問題錯誤:線XXX柱XXX:不合式(標記無效)
如何我可以處理這兩種格式?如何改寫處理2種格式的方法?
THX
錯誤的字符集... – Selvin
我該如何檢查字符集? – user2428604