Quiero comprobar si un documento XML contiene un elemento 'persona' en cualquier lugar dentro. Puedo comprobar todos los elementos de primera generación muy simple:Iterar todas las generaciones de nodos XML en DOM 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
}
}
Y y puedo añadir más bucles para entrar en sub-elementos, pero que tendría que saber cuántos bucles anidados para poner en determinar hasta qué punto en el documento para perforar. Pude anidar 10 bucles y terminar con un elemento de persona anidado 12 elementos en un documento determinado. Necesito poder sacar el elemento, sin importar cuán profundamente anidado esté.
¿Hay forma de cosechar elementos de un documento completo? ¿Como devolver los valores de texto de todas las etiquetas como una matriz o iterar sobre ella?
Algo parecido a pitón de elementtree 'findall' quizá método:
for person in tree.findall('//person'):
personlist.append(person)
creo que es necesario http://en.wikipedia.org/wiki/Recursion_%28computer_science % 29. –