Sto leggendo un elenco che ha un numero elevato di archivi sotto determinati componenti. ad es.Generare il mapping XML di una ricerca di directory ricorsiva
component1:filelocation1/a11.ear
component1:filelocation1/a12.ear
component2:filelocation2/a2.ear
component3:filelocation3/a3.ear
component4:filelocation3/basefile.properties
ho bisogno di decomprimere ogni archivio in modo ricorsivo fino all'ultimo livello di dati e generare un file di mapping XML catturare la mappatura corretta dal componente per l'ultimo elemento in archivio.
struttura del documento XML di cui sarebbe come:
<my-app>
<mapping>
<toplevel loc="filelocation1" filename="a11.ear" component="component1">
<childlevel loc="." filename="x1.war">
<childlevel loc="WEB-INF/classes" filename="abc1.class"/>
<childlevel loc="WEB-INF/classes" filename="abc2.class"/>
</childlevel>
</toplevel>
<toplevel loc="filelocation1" filename="a12.ear" component="component1">
<childlevel loc="." filename="x2.jar">
<childlevel loc="org/test" filename="abc1.class"/>
<childlevel loc="org/test" filename="abc2.class"/>
</childlevel>
<childlevel loc="." filename="x3.war">
<childlevel loc="WEB-INF/lib" filename="web1.jar">
<childlevel loc="org/test" filename="abc1.class"/>
</childlevel>
<childlevel loc="WEB-INF/classes" filename="abc2.class"/>
</childlevel>
</toplevel>
</mapping>
</my-app>
Qual è il miglior appraoch per farlo? Sto considerando l'utilizzo di un parser DOM per generare l'XML.
Solo per aggiungere: il processo prevede la lettura dell'elenco file da un file di testo, la decompressione di ogni archivio in modo ricorsivo e durante la decompressione della creazione del mapping XML. Quindi una chiamata ricorsiva per la diffusione di un archivio richiederebbe in qualche modo l'elemento genitore da passare in modo tale che una volta fuori dal ciclo ricorsivo possiamo avere l'xml corretto. Questo xml avrà i dati per tutti gli archivi nel file di testo con cui abbiamo iniziato. – rommel
Avete qualche preferenza per la lingua da utilizzare per l'elaborazione XML? – menjaraz
Puoi aggiungere il tag [tag: java] se è correlato al tuo post precedente. – menjaraz