我想在StringBuffer
调用后用Jdom2
解析我的SOAP
。但是我在任何地方都找不到解决方案。
我看到了w3.jdom
的一些解决方案,但他们要求我使用jdom2
。
HttpResponse response = client.execute(httppost);
BufferedReader rd = new BufferedReader(new InputStreamReader(response.getEntity().getContent()));
StringBuffer result = new StringBuffer();
String line = "";
while ((line = rd.readLine()) != null) {
result.append(line);
}
最佳答案
创建一个org.jdom2.input.SAXBuilder
并使用其build(Reader)
方法创建一个JDOM2 Document
对象,其中使用new StringReader(result.toString())
创建阅读器。
但是,仅将HTTP响应中的所有数据复制到StringBuffer中,以便随后可以解析它是非常低效的。您已经使用HttpResponse
从response.getEntity().getContent()
获取了InputStream,并且可以直接将此InputStream
提供给SAXBuilder的build(InputStream)
方法。