我正在获得一个包含大约10000多行数据的大型SOAP响应,并从CDATA中提取相关数据并插入数据库。
代码如下:
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()";
我在最后一行收到OutofMemory错误。我确实尝试将堆大小增加到1.2 GB,但这也没有用。
你们中的任何人可以帮助我吗?