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
Du musst angemeldet sein, um einen Kommentar abzugeben.
Aus der JavaDoc: Gibt eine NodeList aller untergeordneten Elemente mit einem bestimmten tag-Namen im Dokument um. Name - Der Name der tag-zu-match auf. Der spezielle Wert "*" passt auf alle tags.
Beachten Sie, dass die
getElementsByTagName("*")
Methode funktioniert nur aufElement
s. Sie hätte gewirktnode
alsElement
bevor Sie die Methode verwenden.InformationsquelleAutor pasha701