gpt4 book ai didi

java - 创建具有大量节点(1000 万)的 XML 文件

转载 作者:数据小太阳 更新时间:2023-10-29 02:48:13 25 4
gpt4 key购买 nike

我尝试创建具有 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)

在 Java 中是否存在另一个用于创建具有超过 10 000 000 个节点的 XML 文件的库?

最佳答案

对于这样的琐碎文件:考虑在不使用任何 DOM 或 StAX 的情况下编写 xml 文件:

writeToFile("<root>\n");
for (int i = 0; i < 10000000; i++) {
writeToFile("<ch>" + getData(i) + "</ch>\n");
}
writeToFile("</root>\n");

就是这样 - 您只需要一个将字符串写入文件的方法。以及获取文本数据的方法。

关于java - 创建具有大量节点(1000 万)的 XML 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6502840/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com