我正在使用以下简单的 StAX 代码来遍历 XML 中的所有标签。input.xml的大小 > 100 MB
XMLInputFactory xif = XMLInputFactory.newInstance();
FileInputStream in = new FileInputStream("input.xml");
XMLStreamReader xsr = XMLInputFactory.newInstance().createXMLStreamReader(in);
xsr.next();
while (xsr.hasNext()) {
xsr.next();
if(xsr.isStartElement() || xsr.isEndElement())
System.out.println(xsr.getLocalName());
}
}
我收到此错误:
Exception in thread "main" java.lang.OutOfMemoryError: Java heap space
请告诉我如何解决这个问题。我读到 StAX 很好地处理了巨大的 XML,但我遇到了与 DOM Parsers 相同的错误。