XML->TXT:AIDEZ MOI SVP

Fermé
ruth - 11 août 2006 à 09:55
 azteka - 30 mai 2008 à 14:36
Bonjour à tous,
svp je souhaite transformer un document du XML vers TXT.
voici le format de données XML:
<Listeproduits>
<produit>
DER1

<Prix>345</Prix>
<promo1>340</promo1>
<promo2>340</promo2>
<promo3>340</promo3>
</produit>
<produit>
DER1

<Prix>3452</Prix>
<promo1>3403</promo1>
<promo2>3404</promo2>
<promo3>3403</promo3>
<produit>
DER2

<Prix>32</Prix>
<promo1>34403</promo1>
<promo2>2404</promo2>
<promo3>5403</promo3>
</produit>
</Listeproduits>

je souhaite concevoir un fichier XSL pour transformer le fichier produit.xml en
produit.txt dont le format de données est:

DER1;345;340;340;340
DER1;3452;3403;3404;3403
DER2;32;34403;2404;5403

Remarque:possibilité de doublons.
SVP auriez vous une idée sur ce fichier xsl?
merci
A voir également:

5 réponses

sebsauvage Messages postés 32847 Date d'inscription mercredi 29 août 2001 Statut Modérateur Dernière intervention 21 octobre 2019 15 656
11 août 2006 à 10:05
XSL ?

Pouark !

Tu ne peux vraiment pas prendre autrechose ?

XLS est lourd à écrire, et les performances sont minables.

Mais bon si tu veux un exemple d'XSL, regarde là:
http://sebsauvage.net/comprendre/xml/index.html#xslt


Je veux bien de le faire en Python, mais pas en XSL.
0
crabs Messages postés 908 Date d'inscription lundi 18 avril 2005 Statut Membre Dernière intervention 3 août 2008 506
11 août 2006 à 10:19
Salut,
(une réponse pour ruth)
Une solution qui fonctionne avec xsltproc :
<?xml version="1.0" encoding="iso-8859-1" ?>                                    <xsl:stylesheet                                                                 
    xmlns:xsl="http://www.w3.org/1999/XSL/Transform"                                version="1.0"                                                                   >                                                                           <xsl:output encoding="iso-8859-1" method="text"/>                               <xsl:strip-space elements="*"/>

<xsl:template match="produit">
    <!-- là on supprime tous les espaces inutiles -->
    <xsl:value-of select="normalize-space(text())"/>
    <!-- là on affiche les valeurs des noeuds prix et et promo -->
    <xsl:text>;</xsl:text><xsl:value-of select="Prix"/>
    <xsl:text>;</xsl:text><xsl:value-of select="promo1"/>
    <xsl:text>;</xsl:text><xsl:value-of select="promo2"/>
    <xsl:text>;</xsl:text><xsl:value-of select="promo3"/>
    <!-- il est important de ne pas indenter la balise fermante... -->
    <xsl:text>
</xsl:text>
</xsl:template>

</xsl:stylesheet>


Ton XML n'est pas pratique, essaies de mettre le nom du produit dans un
élément ou un attribut, cela sera plus facile à manipuler qu'un 'text'
mélangé à des noeuds.

A+, crabs
0
teebo Messages postés 33478 Date d'inscription jeudi 14 octobre 2004 Statut Modérateur Dernière intervention 24 février 2011 1 795
11 août 2006 à 10:20
Salut :)

Seb, t'exagère, XSL peut parfois être lourd à écrire (mais dans le cas particulier, c'est franchement facile), et les performances dépendent surtout du processor et du parser :)

0
sebsauvage Messages postés 32847 Date d'inscription mercredi 29 août 2001 Statut Modérateur Dernière intervention 21 octobre 2019 15 656
11 août 2006 à 10:37
Disons que XSL, c'est bien dans la théorie, ou sur de petits exemples.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Bonjour j'ai moi auss la nécéssité pour la traduction d'un film de convertir un fichier xml créé par fcp pour un .txt qui servirait dans le logiciel dvd studio pro.Je vous remercie
0