2011-11-09 3 views
1

나는 xml을 지금까지 구문 분석하기 위해이 코드를 사용 해왔다. 그것의 안드로이드 이전 버전에서 잘 작동했다 (2.3.3까지). 안드로이드 4.0 아이스크림 샌드위치 돔 파서 Null 포인터


NodeList list = element.getElementsByTagName("course");   

Element entry;        
Element title; 

if(list != null && list.getLength() > 0){ 


    for(int i=0;i < list.getLength(); i++){ 

     entry = (Element)list.item(i);        
     title = (Element)entry.getElementsByTagName("course").item(0); 

     biz_name_p = title.getAttribute("biz_name"); 

    } 
} 

나는 목록에 그것을 복용하고 그래서 이름 "물론"여러 태그가 있습니다. 내부 루프 메신저 요소 과정을 확인하고 그것에서 여러 문자열 값을 추출.

getAttribute("biz_name") 또는 다른 속성을 사용하면 NullPointerException이 표시됩니다.

내가 (단지 전체 XML 번 반복) 목록에서 주 태그 "과정"을 교체

는, 내가 문자열 값을 수신하고 ... ICS 때까지 이전 버전에서 잘 작동했지만, 한 번만 ... 그들이 돔 파서에서 어떤 것을 바꿨습니까 ??

편집
다음은 getElementsByTagName가 여러 번 호출 이유

<golf> 
    <course biz_name="Club Circle Golf Course"/> 
    <course biz_name="Club Circle Golf Course1"/> 
    <course biz_name="Club Circle Golf Course2"/> 
</golf> 
+1

또한 XML을 게시하거나 적어도 관련 그것의 일부가 – Caner

+0

@LAS_VEGAS을 질문하십시오 : 내 나쁜입니다 ... 다음은 XML 메신저 구문 분석하려고 .. <코스 biz_name = "클럽 서클 골프 코스"/> <코스 biz_name = "클럽 서클 골프 Course1"/> <코스 biz_name = "클럽 서클 골프 Course2"/> ZealDeveloper

답변

0

이해가 안 .. 구문 분석을 시도하는 XML 메신저입니다. 그래서 당신이 시도 할 수 있습니다 :

NodeList list = element.getElementsByTagName("course");   

Element entry; 

if(list != null && list.getLength() > 0){ 

    for(int i=0;i < list.getLength(); i++){ 

     entry = (Element)list.item(i); 
     biz_name_p = entry.getAttribute("biz_name"); 
    } 
} 
+0

Thnx 많은 ..이 보인다 올바르게 작동하려면 ...하지만 ICS가 아니라 이전의 안드로이드 버전에서 제대로 작동하는지 이해하지 못합니까? – ZealDeveloper

+0

나는 그걸 이해하지 못한다. 그러나 이전 버전에서도이 기능이 작동 할 것으로 기대됩니다. – Caner

+0

네,이 잘 작동합니다 ..하지만 일부 속성과 몇 가지 더 많은 태그와 루트 태그를 포함하는 XML과 합병증을 겪고있다 지금까지 각 태그에 대한 nodelist를 만들었지 만 ICS에서 메신저 0 루트 태그에 대한 노드 길이 길이 (이전의 Android 버전 1 개를 얻음). 다음은 해당 XML에 대한 링크입니다. http://api.amp.active.com/camping/campground/details?contractCode=CO&parkId=50032&api_key=2chxq68efd4azrpygt5hh2qu 일이 제대로 ... 난 당신의 코드를 볼 필요가 – ZealDeveloper

관련 문제