1

我正在过渡到 OKHttp,并且在我的项目中使用 SAXParser。如何解析对 SAXParser 的 OKHttp 响应?或者我还能如何使用该库解析 XML。最初这就是我的做法:

HttpResponse response = httpclient.execute(httppost);
InputStream inputStream = response.getEntity().getContent();
SAXParserFactory factory1 = SAXParserFactory.newInstance();
SAXParser parser = factory1.newSAXParser();
FormHandler handler = new FormHandler();
parser.parse(inputStream, handler);

但是使用 OKHTTP,我如何传递Response response = client.newCall(request).execute()给 XML 解析器?

4

1 回答 1

2

你可以试试这个:

// 1. get a http response
Response response = client.newCall(request).execute();

// 2. construct a string from the response
String xmlstring = response.body().string();

// 3. construct an InputSource from the string
InputSource inputSource = new InputSource(new StringReader(xmlstring));

// 4. start parsing with SAXParser and handler object 
// ( both must have been created before )
parser.parse(inputSource,handler);

PS:在您的问题中,您提到了 XMLPullParser,在您的代码中,您实际上使用的是 SAXParser。但是,如果您手头有 xml 字符串,那么两种方式都应该做得很好。

于 2014-06-28T11:12:50.870 回答