J'écris une application qui doit mettre à jour des parties d'un fichier xml déjà existant basé sur un ensemble de fichiers dans un répertoire. Un exemple de ce fichier xml peut être vu ci-dessous:Ajouter des nœuds à un fichier XML lors de l'exécution?
http://izpack.org/documentation/sample-install-definition.html
Dans le cadre ci-dessous une liste de fichiers est ajouté et son spécifié si elles doivent être « analysable » (utilisé pour la substitution des paramètres):
<packs>
<pack name="Main Application" required="yes" installGroups="New Application" >
<file src="post-install-tasks.bat" targetdir="$INSTALL_PATH"/>
<file src="build.xml" targetdir="$INSTALL_PATH"/>
<parsable targetfile="$INSTALL_PATH/post-install-tasks.bat"/>
<parsable targetfile="$INSTALL_PATH/build.xml"/>
</pack>
</packs>
Maintenant, le nombre de fichiers qui doivent être ajoutés à cette portée peut changer chaque fois que l'application est exécutée. Pour que cela soit possible, j'ai considéré l'approche suivante:
1) Lire tout le XML dans un org.w3c.dom. *; Documentez et ajoutez des nœuds basés sur le résultat de la lecture du répertoire.
2) Ajoutez d'une manière ou d'une autre le contenu d'un fichier .properties à la portée. De cette façon, il est possible de mettre à jour la liste de fichiers sans recompiler le code.
3) ??
Des suggestions sur une bonne approche pour ce genre de tâche?