IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

XSL/XSLT/XPATH XML Discussion :

[XSLT] Conversion universelle xml en csv


Sujet :

XSL/XSLT/XPATH XML

  1. #1
    Futur Membre du Club
    Inscrit en
    Septembre 2007
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Septembre 2007
    Messages : 5
    Points : 5
    Points
    5
    Par défaut [XSLT] Conversion universelle xml en csv
    Bonjour
    Je suis néophite en feuille de style xsl
    J'ai un fichier assez complexe à convertir pour faire des traitements dans excel et tous les exemples simples à balise que je trouve ici me laissent perplexe sur mon fichier.
    J'ai utilisé un éditeur xml pour vérifier la cohérence du fichier et j'ai 2 questions :

    1 - Il semble qu'on ne puisse pas faire de conversion universelle en csv à partir d'un xml, tout dépend de l'arbre du xml ! Est ce exact ?

    2 - Voici la tête de mon xml je voudrais en extraire toutes les données sous forme de colonnes !
    ( Voir fichier joint )

    Je n'extrait que des chaines avec des blancs car il semble que les strcutures soient complexe voici mon code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    <?xml version="1.0" encoding="UTF-8"?>
    <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
        <xsl:output method="csv" omit-xml-declaration="yes" indent="no"/>
        <xsl:template match="/">			
            <xsl:apply-templates select="PFR/TAB"/>
        </xsl:template>
        <xsl:template match="TAB">
            <xsl:for-each select="*">
                <xsl:copy-of select="(child::*)"/>            
            </xsl:for-each>
        </xsl:template>
    </xsl:stylesheet>
    Quelqu'un a t'il une idée ?

    Je sais ça va faire rigoler beaucoup de monde !!!!!!!!!

    merci d'avance
    Fichiers attachés Fichiers attachés

  2. #2
    Membre éprouvé
    Profil pro
    Responsable Dev
    Inscrit en
    Décembre 2003
    Messages
    788
    Détails du profil
    Informations personnelles :
    Localisation : France, Vendée (Pays de la Loire)

    Informations professionnelles :
    Activité : Responsable Dev

    Informations forums :
    Inscription : Décembre 2003
    Messages : 788
    Points : 1 063
    Points
    1 063
    Par défaut
    pour la première question la réponse oui: il n'existe pas d'outil universel de conversion
    pour ta deuxième question: ton soucis provient surtout d'un manque d'info fonctionnel et par une mauvaise recherche.
    Par exemple je vois qu'il existe TAGGED contenant des balise TAG. Ma question est : je fais autant de colonne qu'il y a de balise TAG?
    Sinon que tu ne récupères que des blancs cela est normal puisqu'aucune balise de ton fichier ne comporte un champ text différent d'un blanc.
    En faite toutes tes données sont codés dans des attributs.
    essai donc plutot cela
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
    	<xsl:output 
      		encoding="ISO-8859-15"
      		method="xml"
      		indent="yes" />
     
    	<xsl:template match="node()">
    			<xsl:apply-templates select="@* | node()"/>
    	</xsl:template>
     
    	<xsl:template match="@*">
    			<xsl:value-of select="name()"/>:<xsl:value-of select="."/>
    	</xsl:template>
    </xsl:stylesheet>
    tu vas pouvoir récupérer tout les valeurs des attributs

  3. #3
    Futur Membre du Club
    Inscrit en
    Septembre 2007
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Septembre 2007
    Messages : 5
    Points : 5
    Points
    5
    Par défaut Pas loin de la conversion Universelle !!!!!!
    Fraoustin !!!!!!
    Merci en tant que néophyte je suis éblouis par ta feuille ...
    j'ai récupéré un shareware "génial" d'ailleurs oxygen qui m'a permis d'exécuter ...
    Bon je vais jouer la fine bouche tout s'écrit sur une seule ligne ...

    Après je me dis qu'ici sans référence à un nom de balise ce script pourrait s'adapter à bon nombre de xml !!!!!! Non ?????

    Je n'arrive pas à ouvrir le fichier avec excel car la première ligne est trop grande !!!!

    Mes besoins seraient d'écrire sur la première colonne le nom de la balise traitée,, par exemple au niveau TAB
    puis d'écrire à partir de la colonne 2, sur plusieurs colonnes les valeurs renseignées ...
    Bon il faudrait aussi écrire le nom du champ pour chacune des valeurs pour identifier la valeur ... Mais j'en demande trop là ...

    Pour ce qui est de la première colonne, j'ai déjà fait ça sur un fichier par macro vba, l'interet c'est d'obtenir un csv et de transformer en classeur avec autant d'onglet qu'il y a de noms de balises en première colonne ...

    En tout cas, j'ai récupéré ce shareware mais je me rends compte qu'il faut quand même avoir une idée de l'arbre avant de traiter un xml et de créer un xls ...
    Quelqu'un a la connaissance d'un freeware qui permettrait de bosser correctement ?

    En tout cas encore : Un grand MERCI

  4. #4
    Membre éprouvé
    Profil pro
    Responsable Dev
    Inscrit en
    Décembre 2003
    Messages
    788
    Détails du profil
    Informations personnelles :
    Localisation : France, Vendée (Pays de la Loire)

    Informations professionnelles :
    Activité : Responsable Dev

    Informations forums :
    Inscription : Décembre 2003
    Messages : 788
    Points : 1 063
    Points
    1 063
    Par défaut
    un outil que je trouve bien pour developper en xml est xmlcopyeditor.
    il a un moteur xslt intégré et il fonctionne très bien

Discussions similaires

  1. [débutant] conversion XML en CSV
    Par tomo0013 dans le forum XSL/XSLT/XPATH
    Réponses: 7
    Dernier message: 27/03/2009, 16h44
  2. [XSLT] XML vers CSV a l'aide d'un XSL
    Par agougeon dans le forum XSL/XSLT/XPATH
    Réponses: 4
    Dernier message: 02/05/2007, 14h08
  3. [XSLT]Passer du XML au CSV avec XSL
    Par tibotibotibo dans le forum XSL/XSLT/XPATH
    Réponses: 2
    Dernier message: 16/03/2007, 11h12
  4. [XSLT] Conversion xml vers txt ou mdb etc
    Par narodar dans le forum XSL/XSLT/XPATH
    Réponses: 1
    Dernier message: 23/06/2006, 14h31
  5. [xml]Conversion d'une structure xml en csv
    Par cchatel2000 dans le forum XML/XSL et SOAP
    Réponses: 3
    Dernier message: 01/08/2005, 16h00

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo