我想在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中,以便随后可以解析它是非常低效的。您已经使用HttpResponseresponse.getEntity().getContent()获取了InputStream,并且可以直接将此InputStream提供给SAXBuilder的build(InputStream)方法。

08-18 05:56