Programmation » [XML] Générer des fichiers texte
Catégorie:  
   
[XML] Générer des fichiers texte
Publié le 18/01/2011 @ 23:08:25,
Par didix
Bonjour les zamis !

Je me (re)mets doucement au xml... et un petit problème me chipotte.
Je dispose d'un fichier xml du style :

  1. <?xml version="1.0" encoding="UTF-8"?> 
  2. <boite> 
  3. <objet> 
  4. <nom>voiture</nom> 
  5. <couleur>bleue</couleur> 
  6. <taille>10</y_min> 
  7. </objet> 
  8. <objet> 
  9. <nom>ours</nom> 
  10. <couleur>brun</couleur> 
  11. <taille>30</taille> 
  12. </objet> 
  13. </boite>


Le <nom></nom> est unique et non nul; il y a plusieurs dizaines d'<objet></objet> dans la <boite></boite>.

L'idée, c'est de créer un fichier texte par objet, nommé par le nom.txt (et contenant les autres infos).
Les exemples que je trouve font une sortie texte par fichier xml (donc traitement par lot), mais pas "splittage" d'un seul fichier xml vers plusieurs fichiers texte.

Une idée de comment faire ?
Merci bien d'avance :jap:
   
[XML] Générer des fichiers texte
Publié le 18/01/2011 @ 23:43:44,
Par rfr
Avec XSLT tu trouveras un exemple ici (bon ok, il ne génère pas un fichier texte, mais on voit comment créer plusieurs fichiers):

http://faqingperplxd.wordpress.com/2009/03/02/xslt-to-split-teicorpus-files-to-individual-parts/
To die is a time consuming activity, it often takes a lifetime (but some are faster than others ... though)
   
[XML] Générer des fichiers texte
Publié le 19/01/2011 @ 00:11:19,
Par didix
Merci !
Je regarderai ça mieux demain (enfin tantôt), mais ça a l'air d'être ce dont j'vais besoin :smile:
   
[XML] Générer des fichiers texte
Publié le 19/01/2011 @ 07:15:35,
Par gizmo
Sinon, c'est ultra-simple a faire en Groovy.
Concept vivant.
   
[XML] Générer des fichiers texte
Publié le 19/01/2011 @ 09:26:36,
Par didix
j'imagine qu'en Rebol aussi, vu qu'il y a un mini perseur xml inclu, mais j'essaye d'éviter de multiplier les langages (pour le moment).
   
[XML] Générer des fichiers texte
Publié le 19/01/2011 @ 10:43:55,
Par philfr
j'imagine qu'en Rebol aussi, vu qu'il y a un mini perseur xml inclu, mais j'essaye d'éviter de multiplier les langages (pour le moment).


Et tu voudrais ça en quel langage ?
   
[XML] Générer des fichiers texte
Publié le 19/01/2011 @ 11:54:51,
Par didix
Je pensais utiliser bêtement un editeur xml/xsl et et appliquer le xsl:fo sur le fichier de données.
   
[XML] Générer des fichiers texte
Publié le 19/01/2011 @ 13:09:33,
Par gizmo
Euh, ouais. Mais vu que tu dois splitter les fichiers manuellement apres, je suis pas sur que tu y gagnes a ne pas vouloir utiliser un autre outil.

  1. def xml = '''<?xml version="1.0" encoding="UTF-8"?>  
  2. <boite>  
  3. <objet>  
  4. <nom>voiture</nom>  
  5. <couleur>bleue</couleur>  
  6. <taille>10</taille>  
  7. </objet>  
  8. <objet>  
  9. <nom>ours</nom>  
  10. <couleur>brun</couleur>  
  11. <taille>30</taille>  
  12. </objet>  
  13. </boite>''' 
  14. def boite = new XmlSlurper().parseText(xml) 
  15. boite.objet.each { 
  16.     obj -> new File("C:/${obj.nom}.txt").withWriter {  
  17.        it.write "couleur: ${obj.couleur} - taille ${obj.taille}" 
  18.     }  
  19. }
Concept vivant.
   
[XML] Générer des fichiers texte
Publié le 19/01/2011 @ 23:56:00,
Par didix
Altova XML Spy me crée bien des fichiers séparés tout seul comme un grand (depuis l'exemple de rfr).
XML Copy Editor pas...
Et me reste à réussir à adapter/transformer cet exemple à mon problème... elle est loin ma formation d'informaticien :sad:
   
[XML] Générer des fichiers texte
Publié le 20/01/2011 @ 10:11:12,
Par didix
philfr > si vraiment il fallait un langage, ce serait python sans aucun doute.
(encore un truc à apprendre...)
Mais j'ai l'impression de commencer à m'en sortir
   
[XML] Générer des fichiers texte
Publié le 20/01/2011 @ 10:28:53,
Par philfr
Je me faisais juste la réflexion suivante: tu préfères utiliser un tool spécialisé de transformation XML, avec en input 100 lignes de XSLT, plutôt qu'un interpréteur générique avec 10 lignes de code ?

XML est indéniablement utile à certaines choses, mais selon moi largement surfait et utilisé dans un tas d'applications où il n'a rien à faire, juste parce que ça rassure certains "décideurs".

Et on en arrive dès lors à "programmer en XML" :kiki:
   
[XML] Générer des fichiers texte
Publié le 20/01/2011 @ 10:37:33,
Par didix
En même temps ça me fait un exercice d'apprentissage :spamafote:

Mais en effet, ça semble surfait (ceci dit je suis loin des 100 lignes de code).
   
[XML] Générer des fichiers texte
Publié le 20/01/2011 @ 10:51:51,
Par philfr
En même temps ça me fait un exercice d'apprentissage :spamafote:



Clairement. Tout dépend de ce que tu dois/veux apprendre :wink:
   
[XML] Générer des fichiers texte
Publié le 20/01/2011 @ 10:54:55,
Par rfr
Je suis quand même d'accord avec philfr ...

Quand j'ai fait mon apprentissage XSLT, j'ai fait un truc qui calculait des factorielles pour "m'amuser" et ainsi affirmer que les fonctionnalités de ce bousin XSLT/XML sortaient du contexte initial.

Et je continue à croire à cet adage totalement faux mais tellement vrai aussi : "L'XML c'est l'ASCII du 21ème siècle"
To die is a time consuming activity, it often takes a lifetime (but some are faster than others ... though)
   
[XML] Générer des fichiers texte
Publié le 20/01/2011 @ 11:37:56,
Par didix
Ca avance :oh:
Plus que comprendre comment calculer une valeur float ou double...
Tout ça pour calculer des scripts à la fin :kiki: :ddr555:
Répondre - Catégorie:  
Informaticien.be - © 2002-2024 AkretioSPRL  - Generated via Kelare
The Akretio Network: Akretio - Freedelity - KelCommerce - Votre publicité sur informaticien.be ?