Quote Originariamente inviata da jabjoint Visualizza il messaggio
Si legge il primo ramo e ogni primo ramo a seguire sin all' ultimo, alla fine di questo si leggono tutte le sue foglie.
Ora si risale al nodo parent e si continua la lettura dei rami differenti dal primo(gia' letto) con cui fare lo stesso e se presenti si leggono le foglie.
Si itera il procedimento sin ad arrivare al nodo padre da dove si seguira' alla lettura dei successivi rami come fatto col primo ramo.
Fin all' ultimo ramo del nodo padre che termina l'albero.
Mi sembra un sistema alquanto inefficiente, soprattutto avendo a disposizione linguaggi (e relative strutture in memoria) di alto livello, visto che continui a scandire e rileggere comunque nodi che hai già elaborato, per caricarli oppure per saltarli.

In aggiunta, è inutilmente farraginoso: non esiste una motivazione per cui uno dovrebbe fare una cosa del genere, potendosi caricare in memoria i dati in una struttura gerarchica.

Quote Originariamente inviata da jabjoint Visualizza il messaggio
Se questo algoritmo funziona allora mi cimento ad implementarlo.
Non si capiscono i motivi per cui si dovrebbe fare una simile navigazione nel file, navigando quello che è un albero ripetute volte.

Per la lettura del file senza determinare a priori il nome dei tag e leggendolo progressivamente, è già prevista la modalità SAX.

In sintesi, qualunque cosa tu voglia fare con XML, esiste già una implementazione: se non esiste quella che vuoi fare tu, significa che quello che vuoi fare è meno efficiente o utile di quanto non sia già reso disponibile.

Quote Originariamente inviata da jabjoint Visualizza il messaggio
Java
Forse era meglio postare nel forum di Java, visto che si parla di questo linguaggio e non specificatamente di un problema col formato XML in sé, quanto più di modi per leggero scrivendo codice (in Java, in questo caso).