Czytam listę, która ma dużą liczbę archiwów pod pewnymi komponentami. np.Generowanie odwzorowania XML rekursywnego wyszukiwania katalogu
component1:filelocation1/a11.ear
component1:filelocation1/a12.ear
component2:filelocation2/a2.ear
component3:filelocation3/a3.ear
component4:filelocation3/basefile.properties
muszę rozpakować każdego archiwum rekurencyjnie do ostatniego poziomu danych i wygenerować plik odwzorowania XML przechwytywanie poprawne mapowanie z komponentu do ostatniego elementu w archiwum.
xml strukturę dokumentu, który byłby jak:
<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>
Jaki jest najlepszy appraoch to zrobić? Rozważam użycie parsera DOM do wygenerowania XML.
Wystarczy dodać - proces polega na odczytaniu listy plików z pliku tekstowego, rozpakowaniu każdego archiwum rekurencyjnie i podczas rozpakowywania, budowaniu odwzorowania XML. Zatem rekurencyjne wywołanie ekspansji archiwum wymagałoby jak najszybszego przekazania elementu nadrzędnego, tak aby po wyjściu z pętli rekursywnej można było uzyskać odpowiedni xml. Ten xml będzie zawierał dane dla wszystkich archiwów w pliku tekstowym, od którego zaczęliśmy. – rommel
Czy preferujesz język używany do przetwarzania XML? – menjaraz
Możesz dodać tag [tag: java], jeśli jest powiązany z poprzednim postem. – menjaraz