无法解析rss Feed

时间:2015-03-06 13:48:43

标签: java android saxparser

我无法解析此RSS网站:http://vnexpress.net/rss/tin-moi-nhat.rss。我的sax解析器只识别2个标签" meta"和"脚本"虽然它与其他一些rss网站很好地协作。有人可以帮帮我吗? 这是代码:

public class RssParseHandler extends DefaultHandler {

  private List<RssItem> rssItems;

  private RssItem currentItem;

  private boolean parsingTitle;

  private boolean parsingLink;

  public RssParseHandler() {
    rssItems = new ArrayList<RssItem>();
  }

  public List<RssItem> getItems() {
    return rssItems;
  }

  @Override
  public void startElement(String uri, String localName, String qName, Attributes attributes) throws SAXException {
    if ("item".equals(qName)) {
        currentItem = new RssItem();
    } else if ("title".equals(qName)) {
        parsingTitle = true;
    } else if ("link".equals(qName)) {
        parsingLink = true;
    }
  }

  @Override
  public void endElement(String uri, String localName, String qName)
        throws SAXException {
    if ("item".equals(qName)) {
        rssItems.add(currentItem);
        currentItem = null;
    } else if ("title".equals(qName)) {
        parsingTitle = false;
    } else if ("link".equals(qName)) {
        parsingLink = false;
    }
  }

  @Override
  public void characters(char[] ch, int start, int length)
        throws SAXException {
    if (parsingTitle) {
        if (currentItem != null)
            currentItem.setTitle(new String(ch, start, length));
    } else if (parsingLink) {
        if (currentItem != null) {
            currentItem.setLink(new String(ch, start, length));
        }
    }
  }

}

0 个答案:

没有答案