2012-06-29 92 views
0

我試圖從谷歌API的解析數據:
http://gdata.youtube.com/feeds/base/videos?q=kittens&client=ytapi-youtube-search&v=2&start-index=1的Java/Android的XML解析

像這樣

try { 

     DocumentBuilder db = dbf.newDocumentBuilder(); 
     doc = db.parse(new InputSource(new StringReader(xml.trim()))); 


} catch (ParserConfigurationException e) { 
      System.out.println("XML parse error: " + e.getMessage()); 
      return null; 
} catch (SAXException e) { 
      System.out.println("Wrong XML file structure: " + e.getMessage()); 
      return null; 
} catch (IOException e) { 
      System.out.println("I/O exeption: " + e.getMessage()); 
      return null; 
} 

而且不斷得到一個 '的SAXException' ..我究竟做錯了什麼?

精確錯誤信息是:I /的System.out(19026):錯誤的XML文件結構:意外令牌(位置:TEXT空@ 1:104174中[email protected]

+0

如果打印出來的XML,是什麼樣子? (你確定它正在獲取所有的東西,等等?) – CasualT

+0

在日食中,如果我打印它,它只顯示了它的開始和結尾..(請原諒我不知道如何做一些這些事情,我是一個初學者@CasualT – user353877

+0

爲什麼有人會投票呢?我試圖在問題中明確,提供樣本數據,並準確解釋我在做什麼?如果問題太簡單了,請幫助我有一個簡單的答案,我是初學者,可以使用幫助,如果我應該以不同的方式提出問題,請告訴我。 – user353877

回答

0

我有使這個和它的作品對我來說:在控制檯

public static void readGDATA(){ 

     DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance(); 
     DocumentBuilder db = null; 
     Document doc = null; 

     try { 

     db = dbf.newDocumentBuilder(); 
     doc = db.parse(new URL("http://gdata.youtube.com/feeds/base/videos?q=kittens&client=ytapi-youtube-search&v=2&start-index=1").openStream()); 
     System.out.println(doc.getElementsByTagName("name").getLength()); 



     } catch (ParserConfigurationException e) { 
     // TODO Auto-generated catch block 
     e.printStackTrace(); 
    } catch (SAXException e) { 
     // TODO Auto-generated catch block 
     e.printStackTrace(); 
    } catch (IOException e) { 
     // TODO Auto-generated catch block 
     e.printStackTrace(); 
    } 


} 

輸出: