2012-09-24 131 views
1

嘿傢伙我想在android上顯示藝術家信息,所以我試圖解析xml ,但有奇怪的標籤像這樣的「CDATA」在藝術家 總結之前,所以當我運行我的代碼時,我有空白文本鑑於 我索引樹對JSON,但它的出我的能力寫出JSON解析lastfm藝術家信息在Android上

這裏是我的代碼

String URL = "http://ws.audioscrobbler.com/2.0/?method=artist.getinfo&artist=Cher&api_key=b25b959554ed76058ac220b7b2e0a026&limit=" + 1 + "&page=" + 1; 
     XmlParser parser = new XmlParser(); 
     String xml = parser.getXmlFromUrl(URL); // getting XML 
     Document doc = parser.getDomElement(xml); // getting DOM element 
          NodeList nl = doc.getElementsByTagName("artist"); 
      for (i = 0; i < nl.getLength(); i++) 
      { 
        Element e = (Element) nl.item(i); 
        name = parser.getValue(e, KEY_NAME);// name child value 
         image = parser.getValue(e, KEY_IMAGE); 
         summary = parser.getValue(e, KEY_Summary); 
              return summary; 
     } 
      return null; 
    } 
      @Override 
    protected void onPostExecute(String result) { 
     // TODO Auto-generated method stub 
     super.onPostExecute(result); 
        URL thumb_u; 
      try { 
       thumb_u = new URL(result); 
        Drawable thumb_d = Drawable.createFromStream(thumb_u.openStream(), "src"); 
        tv.setText(result);//textview text set 
        icon.setImageDrawable(thumb_d); 

回答

0

哪裏XmlParser從何而來?我GOOGLE了,我猜它來自here?如果是這樣,改變

DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance(); 

getDomElement加入這一行:

DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance(); 
dbf.setCoalescing(true); 

文檔:setCoalescing

+0

先生你是對的,我遵循你的建議來..我添加了這行教程添加我,但我仍然沒有得到我的textview上的任何文本...仍然只是空白..這是代碼是好的NodeList nl = doc.getElementsByTagName(「藝術家」); ..供參考,你可以看看lastfm網站進入api頁面,你會發現artistinfo鏈接,這樣你會得到更好的xml視圖 –

+0

你好,先生,不工作 –

+0

什麼不工作?請注意,您只能看到一個藝術家摘要。您的代碼也會遍歷'similar'標籤中的'artist'標籤,其中不包含摘要標籤 – noisecapella

相關問題