在Android中获得“奇怪”的RSS结果

时间:2012-09-28 16:49:25

标签: java android xml parsing rss

我不确定这是不是一个好问题,但我真的被这个阻止了。需要一些建议。

我正在开发一款Android应用,其中应用的一部分是在2个不同的菜单中检索2个单独的RSS源。

我对两个Feed使用相同的代码,但这两个Feed都出现了“怪异”。

我使用的一些网址很好,标题排列良好,而我使用的其他网址,如我需要的网址(一个来自ReverbNation(节目时间表),一个来自Facebook(墙上馈送)),结束显示所有'分裂'。

当我将结果放入ListView时,我看到结果返回时,一些字符串被拆分为单独的字符串/列表视图项,一些字符串甚至是空白的,并显示为空白列表视图项。< / p>

有人对我有什么建议吗?我知道这是一个模糊的问题,但我在这里碰壁了。

代码:

private class RSSHandler extends DefaultHandler
   {
        final int stateUnknown = 0;
        final int stateTitle = 1;
        final int stateLink = 2;
        int state = stateUnknown;

          @Override
          public void startDocument() throws SAXException {
           // TODO Auto-generated method stub
          }

          @Override
          public void endDocument() throws SAXException {
           // TODO Auto-generated method stub
          }

          @Override
          public void startElement(String uri, String localName, String qName,
            Attributes attributes) throws SAXException {

            localnames.add(localName);

           if (localName.equalsIgnoreCase("title"))
           {
               state = stateTitle;
           } else if (localName.equalsIgnoreCase("link")){
               state = stateLink;
           } else if (localName.equalsIgnoreCase("item")){
               Log.d("Tour", "item");
           }
           else
           {
               state = stateUnknown;
           }
      }

      @Override
      public void endElement(String uri, String localName, String qName)
        throws SAXException {
       // TODO Auto-generated method stub
       state = stateUnknown;
      }

      @Override
      public void characters(char[] ch, int start, int length)
        throws SAXException {
       // TODO Auto-generated method stub
       String strCharacters = new String(ch, start, length);

       xmlStrings.add(strCharacters);

       if (state == stateTitle)
       {
           item.add(strCharacters);

       } else if (state == stateLink)
       {
           itemLink.add(strCharacters);
       }
  }

0 个答案:

没有答案