Javaでxpathを使用して巨大なXMLファイルに対していくつかのクエリを作成しようとしています。これが私のコードです:
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);
NodeList result = (NodeList)expr.evaluate(document, XPathConstants.NODESET);
コードの最後の行には時間がかかりますが、理由はわかりません。この行がないと、プログラムは 1 秒で終了し、40 秒で終了します。また、動作していないXOMも試しました。javaの巨大なXMLファイルでより高速なクエリを作成するための代替手段は何ですか?