2013-07-10 4 views
1

태그 안에 이미 지 URL이있는 피드의 이미지를 구문 분석하고 표시하려고합니다. 예를 들면 다음과 같습니다.SAX를 사용하여 콘텐츠 : 인코딩 된 태그에서 이미지를 성공적으로 파싱하는 방법?

*Note>> http://someImage.jpg은 실제 이미지 링크가 아니며, 단지 예일뿐입니다. 이것은 내가 지금까지 해왔 던 것이다.

public void startElement(String uri, String localName, String qName, Attributes atts) { 
    chars = new StringBuilder(); 

    if (qName.equalsIgnoreCase("content:encoded")) { 
     if (!atts.getValue("src").toString().equalsIgnoreCase("null")) { 
      feedStr.setImgLink(atts.getValue("src").toString()); 
      Log.d(TAG, "inside if " + feedStr.getImgLink()); 
     } else { 
      feedStr.setImgLink(""); 
      Log.d(TAG, feedStr.getImgLink()); 
     }  
    }  
} 

저는 프로그래밍의이 부분을 조정해야한다고 생각합니다. 먼저 qName이 "content : encoded"와 같으면 구문 분석이 중지됩니다. 응용 프로그램은 끝없이 실행되며 아무 것도 표시하지 않습니다. 둘째, qName이 "purplebunny"와 같을 수 없다면 그 초기 값을 변경하면 이미지가 전혀 없다는 것을 제외하고는 모든 것이 완벽하게 작동합니다. 내가 뭘 놓치고 있니? atts.getValue를 올바르게 사용하고 있습니까? 로그를 사용하여 ImgLink에 무엇이 올라 왔는지 항상 확인했습니다. 항상 null입니다.

답변

0

문자열에 content:encoded 데이터를 저장할 수 있습니다. Description 변수에 저장

한다고 가정 content:encoded 원시 데이터 : 그럼 당신은이 라이브러리 Jsoup

에서 이미지를 추출 할 수 있습니다.

Document doc = Jsoup.parse(Description); 
Element image =doc.select("img").first(); 
String url = image.absUrl("src");