Wie man Kind-Knoten mit Typ ELEMENT_NODE nur

Ich bin parsing eines xml-Dokument mithilfe von java-DOM und ich müssen jeden einzelnen Knoten, etwas zu tun.

Habe ich diesen code:

public void analyze_file(Node node){
        if(node.getNodeType() != Node.DOCUMENT_NODE){
            //do something
        }
        NodeList list = node.getChildNodes();
        for(int i=0; i<list.getLength(); i++){
            if(list.item(i).getNodeType() == Node.ELEMENT_NODE){
                analyze_file(list.item(i));
            }
        }
}

Das problem ist, dass meine xml-Datei ist sehr groß ( > 30000 Zeilen), und der obige code benötigt zu viel Zeit für die Prüfung, ob ein Knoten einen ELEMENT_NODE geben oder nicht. Ich sehe, dass wenn das Programm beendet sich nach erreichen des letzten ELEMENT_NODE Knoten, die Ausführungszeit würde sehr klein sein.

Gibt es irgendeinen Weg, um alle untergeordneten Knoten, dessen Typ ELEMENT_NODE nur?

Beispiel: NodeList list = node.getElementChildNodes();

Vielen Dank für jede Hilfe!!!

InformationsquelleAutor chuonghd | 2013-11-20

Schreibe einen Kommentar