Come faccio a scrivere un merodo che passato in ingresso un Nodo e una String mi trovi, nel nodo padre tutti i nodi figlio con quel nome?
Io ho questo metodo in cui il chiamante passa un oggetto Node al cui interno cercare un Nodo "figlio" il cui nome corrisponda a quello cercato, cioè il parametro "nodeName".
Il Nodo passato come parametro potrebbe contenere zero o più Nodi "figli"...
la lista di tutti i "nodi figli" contenuti in un dato nodo viene ottenuta così:
Però il resto del metodo si limita a prendere un "nodo figlio" dalla lista, controllare se il suo nome è uguale a quello voluto ("nodeName"), quindi tornare quel Nodo in caso affermativo, altrimenti proseguire l'iterazione prendendo il prossimo "nodo figlio" e così via, finchè non l'ha trovato o non ha raggiunto la fine della lista.codice:NodeList childNodes = node.getChildNodes();Ora in "childNodes" c'è la lista di tutti i nodi figlio di "node".
Chiaro che appena trova il primo che corrisponde, il metodo torna subito.
Invece io devo fare che il metodo ritornino tutti i figli con quel "nodeName" e non solo il primo che incontra...avete un idea di come possa fare?codice:private Node getChildNode(Node node, String nodeName) { NodeList childNodes = node.getChildNodes(); for ( int i = 0; i < childNodes.getLength(); i++) { Node childNode = childNodes.item(i); if ( childNode.getNodeName().equals(nodeName) ) return childNode; } return null; }

Rispondi quotando