Ciao a tutti, ho un problema con la ricorsione di un albero di Element!
Praticamente dato un albero composto di Element(che è il mio rootElement) devo scorrerlo e crearne un altro composto solamente dal nodo che ha un determinato nome e dai suoi figli!Ad esempio: se ho un albero
X
---> a
---> b
---> c
X
---> g
---> j
---> k
Y
---> a
---> b
---> c
e come nome scelgo X, il mio nuovo albero sarà
X
--->a
--->b
--->c
X
--->g
--->j
--->k
Io ho scritto i metodi seguenti che non funzionano!! UFFF e non riesco a trovare l'errore da giorni!
Ecco i due metodi:
public Element metodo(String name){
Element root = new Element(rootElement.getName());
Element result = null;
if(rootElement.getChildren().isEmpty()){
System.out.println("L'elemento non ha figli");
}
else{
result = creaCollectionContenitoriRic(rootElement, name,false);
}
return result;
}
public Element metodoRic(Element e, String name, boolean trovato){
Element finale = new Element(e.getName());
if(!e.getChildren().isEmpty()){//s esiste il figlio
Iterator iterator = e.getChildren().iterator();
Element element = e;
while (iterator.hasNext()){
element = (Element)iterator.next();
if(element.getName().equals(name) || (trovato == true)) {
trovato = true;
finale.addContent(metodoRic(element, name, trovato));
}else{
metodoRic(element,name, trovato);
trovato = false;
}
}
}
return finale;
}
Grazie mille!!!!spero possiate aiutarmi!