Je suis assez nouveau pour fourmi et j'ai regardé les tâches. J'essaie de générer un fichier XML. Ai-je besoin d'appeler un processus externe ou y a-t-il un moyen de le faire? Cela peut être aussi simple que d'envoyer une chaîne dans un fichier txt et de l'enregistrer au format .xml. C'est possible?Pouvez-vous utiliser Ant pour créer/modifier des fichiers XML?
Répondre
La réponse dépend de ce que vous essayez de faire réellement.
Vous pouvez créer un minuscule document XML en utilisant le remplacement des tâches et des arguments echo, mais cela devient difficile à maintenir très rapidement.
Si votre objectif est de générer un document XML dont la plupart sont remplacés par un couple de valeurs, vous devez créer un document de modèle, puis utiliser la tâche Copy with filtering.
Si vous avez besoin de modifier la structure du document en fonction des données de Ant (ou d'une autre source), l'utilisation de la tâche xslt sera plus adaptée. Le problème avec XSLT est qu'il n'est pas toujours simple à utiliser (XSLT utilise la programmation fonctionnelle, pas la programmation procédurale).
Vous pouvez trouver que la bonne réponse est à write your own Ant task qui fera exactement ce que vous voulez, comme vous le souhaitez.
Si vous pouvez mieux décrire ce que vous essayez d'atteindre, je suis sûr que quelqu'un sera heureux de fournir une réponse plus précise.
Merci, je suis allé avec la copie avec le filtrage, fonctionne très bien! – sarcasteak
Juste une question «edge-case» - est-ce que la tâche «copy-with-filter» gère correctement les valeurs qui contiennent des caractères XML spéciaux (<, & etc? – monojohnny
Copier avec le filtre est bête - tout ce qu'il fait est de copier des octets, avec une substitution de valeur. L'astuce consiste à définir les valeurs dans un fichier de construction XML. Si vous pouvez définir correctement les valeurs en premier lieu, copier-avec-filtre les remplacera correctement. –
Vous pourriez le faire, bien que cela me semble plus comme quelque chose que vous voudriez écrire au préalable, ou quelque chose que vous pourriez appeler à partir de Ant.
La tâche serait:
<echo file="my.xml"><!--put escaped xml here--></echo>
Ceci est bien sûr va être fastidieux puisque tout doit être échappé, mais vous pouvez le faire.
Vous pouvez utiliser la tâche Replace
pour remplacer une chaîne donnée dans un modèle et l'enregistrer en tant que xml. Un exemple simple, comme on le voit dans la documentation ant:
<replace file="${src}/index.html" token="@@@" value="wombat"/>
Je l'ai utilisé pour remplacer un @[email protected]
constant par l'identificateur de construction réelle dans un projet java, par exemple.
Si vous voulez faire un traitement plus complexe, vous devriez regarder la tâche XSLT
. exemple Foe, pour générer des documents, avec le date
substituons dans la sortie, vous pouvez utiliser quelque chose comme:
<xslt basedir="doc" destdir="build/doc"
extension=".html" style="style/apache.xsl">
<param name="date" expression="07-01-2000"/>
</xslt>
Lorsque vous devez traiter tout type de traitement XML dans votre flux de travail ant, le xmltask est fortement recommandé. Documentation très détaillée et bon support. Tout ce dont vous avez besoin à côté est XPATH knowledge. Ici =>another helpful article
- 1. Renommer des fichiers pendant la copie ANT
- 2. Transformation de XML avec ant
- 3. concaténer dynamiquement les fichiers xml avec ant et xslt
- 4. réutilise des propriétés pour plusieurs fichiers de construction ant?
- 5. Meilleure pratique pour créer des fichiers Stub avec Ant
- 6. Webserver pour combiner des fichiers XML?
- 7. Problème Android Ant (pour utiliser ProGuard)
- 8. Utiliser Word pour créer des fichiers pour mon application
- 9. Existe-t-il un moyen de faire défiler les fichiers dans ant sans utiliser ant-contrib?
- 10. Comment utiliser GCJ avec Ant?
- 11. Comment utiliser Ant?
- 12. Un schéma XML pour des fichiers XML multiples mais similaires
- 13. Fichiers de construction apache ant
- 14. Utiliser cfdocument pour générer des fichiers PDF
- 15. ant itérer sur les fichiers
- 16. XML Split, dans des fichiers XML multiples
- 17. schema xml pour valider plusieurs fichiers xml
- 18. Fichiers journaux externes de Ant
- 19. Comment écrire des fichiers XML?
- 20. Ant cible générer fichier vide suite xml
- 21. Quoi qu'il en soit, utiliser des fichiers de présentation XML pour View/ViewGroups spécifiques?
- 22. Joindre des fichiers xml avec XmlReader
- 23. Utiliser PHP pour renommer des fichiers avec des espaces
- 24. Utiliser la ligne de commande Ant pour construire le projet Eclipse Ant
- 25. Comment enregistrer au mieux des fichiers XML
- 26. Utiliser expat pour analyser xml
- 27. Pour utiliser xml dans C
- 28. trouver Dynamiquement créer des fichiers avec <ant> tâche
- 29. fichier de configuration Ant et parsing XML
- 30. Formateur de résultat personnalisé XML Ant
La tâche ['Replace'] (http://ant.apache.org/manual/Tasks/replace.html) n'est-elle pas suffisante pour ce que vous voulez faire? – tonio
Merci, ces réponses sont très utiles. – sarcasteak