[英]Parsing huge XML file to form a DOM tree
我有一个巨大的XML文件(大约904Mb),我的目标是使用以下代码将其形成DOM树:
org.w3c.dom.Node html = null;
DocumentBuilder builder = DocumentBuilderFactory.newInstance().newDocumentBuilder();
org.w3c.dom.Document doc = builder.parse(new File("xml_file");
html=doc.getFirstChild();
DocumentTraversal traversal = (DocumentTraversal) doc;
NodeIterator iterator = traversal.createNodeIterator(
doc.getDocumentElement(), NodeFilter.SHOW_ELEMENT, null, true);
for (Node n = iterator.nextNode(); n != null; n = iterator.nextNode()) {
System.out.println("Element: " + ((Element) n).getTagName());
String tagname = ((Element) n).getTagName();
NamedNodeMap map = ((Element)n).getAttributes();
if(map.getLength() > 0) {
for(int i=0; i<map.getLength(); i++) {
Node node = map.item(i);
System.out.println(node.getNodeName());
}
}
但是,由于XML文件很大,因此创建DOM树的过程将像永远一样。 这样做有什么特别的技巧吗?
如果您还没有阅读本文( http://sdiwc.us/digitlib/journal_paper.php?paper=00000582.pdf ),它将比较当今许多XML处理库。 最好的选择无疑对您很清楚...
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.