2011-01-28 90 views
0
private class RSSHandler extends DefaultHandler 
{ 
    final int stateUnknown = 0; 
    final int stateTitle = 1; 
    int state = stateUnknown; 

    int numberOfTitle = 0; 
    String strTitle = ""; 
    String strElement = ""; 

    @Override 
    public void startDocument() throws SAXException { 
     // TODO Auto-generated method stub 
     strTitle = "--- Start Document ---\n"; 
    } 

    @Override 
    public void endDocument() throws SAXException { 
     // TODO Auto-generated method stub 
     strTitle += "--- End Document ---"; 
     streamTitle = "Number Of Title: " + String.valueOf(numberOfTitle) + "\n" 
        + strTitle; 
    } 

    @Override 
    public void startElement(String uri, String localName, String qName, 
      Attributes attributes) throws SAXException { 
     // TODO Auto-generated method stub 
     if (localName.equalsIgnoreCase("title")) 
     { 
      state = stateTitle; 
      strElement = "Title: "; 
      numberOfTitle++; 
     } 
     else if (localName.equalsIgnoreCase("link")) 
     { 
      state = stateTitle; 
      strElement = "Link: "; 
      numberOfTitle++; 
     } 
     else 
     { 
      state = stateUnknown; 
     } 
    } 

    @Override 
    public void endElement(String uri, String localName, String qName) 
      throws SAXException { 

     // TODO Auto-generated method stub 
     if (localName.equalsIgnoreCase("title")) 
     { 
      strTitle += strElement + "\n"; 
     } 
     else if (localName.equalsIgnoreCase("link")) 
     { 
      strTitle += strElement + "\n"; 
     } 

     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); 
     if (state == stateTitle) 
     { 
      strElement += strCharacters; 
     } 
    } 

} 

现在我得到所有级别上的所有“链接”和“标题”元素。但是,我需要输入什么才能获得只有“标题”元素的孩子。例如:android rss解析,获取子元素

<title>foo</title> 
    <item> 
     <title>bar</title> 
    </item> 

我只是想 “吧”。由于

回答

0

相反回答你的问题,我建议你去这里的:Working with XML on Android

+2

如果你要提出建议,然后考虑评论的问题,而不是回答它。 – 2011-07-17 14:08:22