Ich möchte überprüfen, ob ein XML-Dokument ein Element 'Person' irgendwo im Inneren enthält. Ich kann sehr einfach alle erste Generation Elemente überprüfen:Iterieren Sie alle XML-Knoten-Generationen in Java DOM
NodeList nodeList = root.getChildNodes();
for(int i=0; i<nodeList.getLength(); i++){
Node childNode = nodeList.item(i);
if (childNode.getNodeName() == "person") {
//do something with it
}
}
Und, und ich kann mehr Schleifen fügt in Subelemente zu gehen, aber ich würde wissen, wie viele verschachtelte Schleifen in setzen, um zu bestimmen, wie weit in die Dokument zu bohren. Ich könnte 10 Schleifen verschachteln und am Ende ein Element mit 12 Elementen in einem Dokument verschachteln. Ich muss in der Lage sein, das Element herauszuziehen, egal wie tief es verschachtelt ist.
Gibt es eine Möglichkeit, Elemente aus einem ganzen Dokument zu ernten? Wie geben Sie die Textwerte aller Tags als Array zurück oder iterieren Sie darüber?
So etwas wie Python elementtree 'findall' Methode vielleicht:
for person in tree.findall('//person'):
personlist.append(person)
Ich glaube, Sie brauchen http://en.wikipedia.org/wiki/Recursion_%28computer_science % 29. –