XmlPullParserを使用してXMLパーサーを作成しましたが、数百行のデータを解析するのに多くの時間がかかります。
コードを見て、私が間違っていることを教えてもらえますか?
case ONE:
buffer.clear();
xpp.setInput(responseBuffer[ONE], "UTF_8");
// Returns the type of current event: START_TAG, END_TAG, etc..
eventType = xpp.getEventType();
while (eventType != XmlPullParser.END_DOCUMENT) {
if (eventType == XmlPullParser.START_TAG) {
if (xpp.getName().equalsIgnoreCase("firstTag")) {
bufferA = xpp.nextText();
} else if (xpp.getName().equalsIgnoreCase("secondTag")) {
bufferB = xpp.nextText();
} else if (xpp.getName().equalsIgnoreCase("thirdTag")) {
bufferC = xpp.nextText();
} else if (xpp.getName().equalsIgnoreCase("u")) {
bufferD = xpp.nextText();
} else if (xpp.getName().equalsIgnoreCase("n")) {
bufferE = xpp.nextText();
} else if (xpp.getName().equalsIgnoreCase("d")) {
bufferF = xpp.nextText();
} else if (xpp.getName().equalsIgnoreCase("so")) {
bufferG = xpp.nextText();
} else if (xpp.getName().equalsIgnoreCase("wei")) {
bufferH = xpp.nextText();
} else if (xpp.getName().equalsIgnoreCase("ter")) {
bufferI = xpp.nextText();
}
} else if (eventType == XmlPullParser.END_TAG
&& xpp.getName().equalsIgnoreCase("close")) {
buffer.add(new VisitInfo(
bufferA,
bufferB,
bufferC,
bufferD, bufferE,
bufferF, bufferG,
bufferH, bufferI));
}
eventType = xpp.next(); // move to next element
}
break;
この構造に基づいて、さらに3つのパーサーがあります。ありがとう。