Per fare ciò che chiedi il metodo che ho adottato io è quello di passare agli Iterator:
codice:
SAXBuilder builder = new SAXBuilder();
doc = builder.build( new File(percorsoFile + nomeFile + estensioneFile) );
Element datiDB = doc.getRootElement();
Iterator i = datiDB.getChildren().iterator();
Element el;
while (i.hasNext()) {
el = (Element) i.next(); // So che è un elemento di tipo "accesso"
}
// Ora nell'oggetto el ho memorizzato l'ultimo tag <accesso> contenuto nel XML
Element pagine = new Element("pagine");
el.addContent(pagine);
Questo metodo, però, assume che come figli di primo livello della ROOT ci siano solamente elementi di tipo <accesso>
Se, invece, il documento XML può contenere anche altri tipi di tag è necessario raffinare il procedimento.
codice:
SAXBuilder builder = new SAXBuilder();
doc = builder.build( new File(percorsoFile + nomeFile + estensioneFile) );
Element datiDB = doc.getRootElement();
Iterator i = datiDB.getChildren().iterator();
Element el;
Element old;
boolean finito = false;
while (i.hasNext() && !finito) {
el = (Element) i.next(); // So che è un elemento di tipo "accesso"
if (!el.getName().equals("accesso")) {
finito = true;
} else {
old = el;
}
}
// Ora nell'oggetto old ho memorizzato l'ultimo tag <accesso> contenuto nel XML
Element pagine = new Element("pagine");
el.addContent(pagine);
Ciao.