Я пытался создать файл для теста с 10 000 000 узлов, таких как:
DocumentBuilderFactory documentBuilderFactory = DocumentBuilderFactory
.newInstance();
DocumentBuilder documentBuilder = documentBuilderFactory
.newDocumentBuilder();
Document document = documentBuilder.newDocument();
Element rootElement = document.createElement("root");
document.appendChild(rootElement);
for (int i = 1; i <= 10000000; i++) {
Element em = document.createElement("ch");
em.appendChild(document.createTextNode("ch_data"));
rootElement.appendChild(em);
}
TransformerFactory transformerFactory = TransformerFactory
.newInstance();
Transformer transformer = transformerFactory.newTransformer();
DOMSource source = new DOMSource(document);
StreamResult result = new StreamResult(new File("c:/file1.xml"));
transformer.transform(source, result);
Но получена ошибка:
Exception in thread "main" java.lang.OutOfMemoryError: Java heap space
at com.sun.org.apache.xerces.internal.dom.CoreDocumentImpl.
createElement(CoreDocumentImpl.java:620)
at main.CreatXMLFile.main(CreatXMLFile.java:27)
Существует ли другая библиотека для создания файлов XML с более чем 10 000 000 узлов в Java?