我正在读取套接字上的 XML 数据。但是这个套接字返回多个 XML 文档,现在我在解析所有输出时遇到了麻烦。我将如何使用 XMLPullParser 解析这些 XML?我正在考虑让它循环,但我怎么知道套接字返回的 XML 文档的数量?
这是我解析 XMLDocument 的一段代码。theiWbParser
是一个对象extends
XmlPullParser
。
while (iWbParser.getEventType() != XmlPullParser.END_DOCUMENT) {
if(iWbParser.getEventType() == XmlPullParser.START_TAG){
int nextTag = iWbParser.getMappedValue();
switch(nextTag){
...
}
}
}
在 while 循环中,我想添加一个条件,该条件将继续循环,直到解析所有数量的 XML 文档。
这是我从套接字读取数据的代码。这是一个客户端套接字,我在其中向服务器发送请求并期望得到响应,即 xml 文档。
HttpConnection httpConnection = null;
httpConnection = establishConnectionType(httpConnection, loginURL);
httpConnection.setRequestProperty("Content-Type", "application/vnd.wv.csp.wbxml");
httpConnection.setRequestProperty("Content-Length", "" + requestCommand.length);
httpConnection.setRequestProperty("Accept", "application/vnd.wv.csp.wbxml");
httpConnection.setRequestMethod(HttpConnection.POST);
OutputStream out = httpConnection.openOutputStream();
out.write(requestCommand);
if (httpConnection.getResponseCode()== HttpConnection.HTTP_OK){
InputStream is = httpConnection.openInputStream();
iResponseData = readInputStream(is);
}
httpConnection.close();
return iResponseData;
iResponseData
是一个 byte[],它包含我传递给上面解析器的 XML 文档。