Optimierung von DOM und XPath in Java-code

Mein code ist zu langsam, aber ich bin mir nicht sicher, wie es zu verbessern. Das Lesen von der Festplatte in den DOM-für einen 1k-Datei dauert etwa 20 ms, das mag OK sein, je nach Festplatte, aber dann hab ich noch 20 ms für die Arbeit auf einer xpath-Anweisung, die ist viel zu viel. Hier finden Sie einige Beispiel-code, der mit der Zeit Kommentare. Wie kann ich den code?

Dies geschieht bei der Konstruktion Zeit:

    DocumentBuilderFactory dbFactory = DocumentBuilderFactory.newInstance();
DocumentBuilder dBuilder = this.dbFactory.newDocumentBuilder(); 
XPathExpression[] ex = new XPathExpression[]{about 30 different expressions}
XPathExpression mainEx =xPath.compile("/rootElement/firstLevel/secondLevel");

Dann den code:

Document doc = this.dBuilder.parse("somefile.xml");
//took 20 ms until here
NodeList nodes = (NodeList) mainEx .evaluate,doc, XPathConstants.NODESET);
 //took another 20 ms until here !!!
    for (int i = 0; i < nodes.getLength(); i++) {
    Node n = nodes.item(i);
    for (XPathExpression e:ex) {
         String v = (String) e.evaluate(n, XPathConstants.STRING);
        if (v != null) {
            System.out.println(v);
        }
    }
    }
    //this only takes 5 ms
InformationsquelleAutor Franz Kafka | 2011-11-27
Schreibe einen Kommentar