什么是查询在java中一个巨大的XML文件的最快方式,最快的方式
DOM - XPath的:这是服用大量的时间,
DocumentBuilderFactory docBuilderFactory = DocumentBuilderFactory.newInstance();
docBuilderFactory.setNamespaceAware(true);
DocumentBuilder docBuilder = docBuilderFactory.newDocumentBuilder();
Document document = docBuilder.parse(new File("test.xml"));
XPath xpath = XPathFactory.newInstance().newXPath();
String xPath = "/*/*[@id='ABCD']/*/*";
XPathExpression expr = xpath.compile(xPath);
//this line takes lot of time
NodeList result = (NodeList)expr.evaluate(document, XPathConstants.NODESET);
在最后一行代码,程序在40秒内完成,1秒钟内完成。
SAX:我不知道这是否可用于查询,在互联网上我只能找到解析的例子。
什么是其他选项使查询更快,我的xml文件的大小是5MB左右。日Thnx
您是否试过StAX或JAXB? – davek
最快(如重复验证)是vtd-xml(http://vtd-xml.sf.net) –