0

표가 올바르지 않은 경우 표를 수정하십시오. 표제를 지정하는 것이 확실하지 않습니다.XML의 2 단계 구문 분석 android

안드로이드에서 XML을 파싱하려고하는데 작동해야하는 코드가 있지만 문제는 여러 수준의 태그가 필요하다는 것입니다.

다음
<dsxout> 
    <uselessTag>unnecasary info</uselessTag> 
    <results> 
     <listing> 
      <title>I'm a Title</title> 
      <description>very amusing description</description> 
     </listing> 
     <listing> 
     ... 
     </listing> 
    </results> 
</dsxout> 

내 분석이 걸리면됩니다 :

private List readFeed(XmlPullParser parser) throws XmlPullParserException, IOException { 
    List entries = new ArrayList(); 
    Toast.makeText(getBaseContext(), "readFeed", Toast.LENGTH_SHORT).show(); 

    parser.require(XmlPullParser.START_TAG, ns, "dsxout"); 
    while (parser.next() != XmlPullParser.END_TAG) { 
     if (parser.getEventType() != XmlPullParser.START_TAG) { 
      continue; 
     } 
     String name = parser.getName(); 

바로 아래 라인은 태그 uselessTag을 뱉어 결과

다음

내 XML의 예입니다
 Toast.makeText(getBaseContext(), name, Toast.LENGTH_SHORT).show(); 

     // Starts by looking for the entry tag 
     if (name.equals("listing")) { 
      entries.add(readEntry(parser)); 
     } else { 
      skip(parser); 
     } 
    } 
    return entries; 
} 

문제는 두 번째 수준에만 읽는 것입니다. f 태그를 포함하고 결과 태그 안에 있지 않으므로 목록을 찾을 수 없습니다.

읽는 동안 다른 단계로 이동하려면 어떻게해야합니까?

+0

그것이 [ksoap2]과 같은 몇 가지 라이브러리를 사용하는 것이 좋습니다 (의 webservices' 문제 http://karanbalkar.com/2014/03/를 해결 한 것 같다 tutorial-78-ksoap2-in-android /)를 사용하면 시간을 절약 할 수 있으며 하드 코드 오류가 적습니다. 자세한 내용은이 [link] (http://stackoverflow.com/questions/9139084/consuming-rest-web-service-and-parsing-xml-data-in-android)를 참조하십시오. – hrskrs

답변

0

이 문을 추가하면`에서 소모

if (name.equals("results")) { 
    String nextTokedn = "Next Level " + parser.nextTag(); 
}