我有一个大型 SOAP 响应,我想处理并存储在数据库中。我正在尝试将整个内容作为文档处理,如下所示
DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
dbf.setCoalescing(true);
DocumentBuilder db = dbf.newDocumentBuilder();
InputStream is = new ByteArrayInputStream(resp.getBytes());
Document doc = db.parse(is);
XPathFactory xPathfactory = XPathFactory.newInstance();
XPath xpath = xPathfactory.newXPath();
XPathExpression expr = xpath.compile(fetchResult);
String result = (String) expr.evaluate(doc, XPathConstants.STRING);
resp 是 SOAP 响应, fetchResult 是 String fetchResult = "//result/text()";
使用这种方法,我会出现内存不足的异常。所以我试图将文档作为流来处理,而不是将整个响应作为文档来使用。
但我想不出代码。
你们中的任何人都可以帮我吗?