Estoy leyendo una lista que tiene una gran cantidad de archivos bajo ciertos componentes. p.Generar mapeo XML de una búsqueda de directorio recursiva
component1:filelocation1/a11.ear
component1:filelocation1/a12.ear
component2:filelocation2/a2.ear
component3:filelocation3/a3.ear
component4:filelocation3/basefile.properties
necesito para descomprimir cada archivo de forma recursiva hasta el último nivel de datos y generar un archivo de asignación XML capturar la asignación correcta del componente hasta el último elemento en el archivo.
La estructura del documento XML de los cuales sería como:
<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>
¿Cuál es la mejor appraoch de hacer eso? Estoy considerando usar un analizador DOM para generar el XML.
Solo para agregar: el proceso implica leer la lista de archivos desde un archivo de texto, descomprimir cada archivo de forma recursiva y mientras se descomprime creando la asignación XML. Por lo tanto, una llamada recursiva para expandir un archivo necesitaría de alguna manera el elemento padre para pasar, de modo que una vez que esté fuera del ciclo recursivo podamos tener el xml correcto. Este xml tendrá datos para todos los archivos en el archivo de texto con el que comenzamos. – rommel
¿Tiene alguna preferencia por el idioma que se utilizará para el procesamiento de XML? – menjaraz
Puede agregar la etiqueta [tag: java] si está relacionada con su publicación anterior. – menjaraz