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 태그를 포함하고 결과 태그 안에 있지 않으므로 목록을 찾을 수 없습니다.
읽는 동안 다른 단계로 이동하려면 어떻게해야합니까?
그것이 [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