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ì:

codice:
NodeList childNodes = node.getChildNodes();Ora in "childNodes" c'è la lista di tutti i nodi figlio di "node".
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.
Chiaro che appena trova il primo che corrisponde, il metodo torna subito.

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;
  }
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?