1. #1
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    novembre 2016
    Messages
    61
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 23
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : novembre 2016
    Messages : 61
    Points : 29
    Points
    29

    Par défaut Parsing de fichier XML

    Bonjour à tous,

    Cela fait plusieurs jours que je cherche comment faire du parsing de XML via Talend.
    En effet, je posséde un xml et je souhaiterais récupérer la valeur contenu dans la balise <customerAdresse> mais je n'arrive pas a parse correctement mon fichier.

    Exemple : je souhaite récupérer ce que contient l'avant dernière balise (donc <CustomerAddress>1799 Rosemary Way</CustomerAddress>)


    <Customer id="1">
    <CustomerName>Griffith Paving and Sealcoatin</CustomerName>
    <CustomerAdresses>
    <CustomerAddress>talend apres 91</CustomerAddress>
    <CustomerAddress>511 Maple Ave. Apt. 1B</CustomerAddress>
    <CustomerAddress>1799 Rosemary Way</CustomerAddress>
    <CustomerAddress>1859 Green Bay Rd.1</CustomerAddress>
    </CustomerAdresses>
    <LabelState>Connecticut</LabelState>
    <RegTime>03-11-2006</RegTime>
    <Fresh>67852.0</Fresh>
    <Frozen>61521.4852</Frozen>
    </Customer>


    Je vous remercie pour votre aide

  2. #2
    Membre éclairé Avatar de MythOnirie
    Homme Profil pro
    Développeur décisionnel
    Inscrit en
    juin 2012
    Messages
    338
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 28
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Développeur décisionnel

    Informations forums :
    Inscription : juin 2012
    Messages : 338
    Points : 688
    Points
    688

    Par défaut

    bonjour,

    Avez-vous essayé les composants tFileInputXML ou tExtractXMLField ?

  3. #3
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    novembre 2016
    Messages
    61
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 23
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : novembre 2016
    Messages : 61
    Points : 29
    Points
    29

    Par défaut

    Citation Envoyé par MythOnirie Voir le message
    bonjour,

    Avez-vous essayé les composants tFileInputXML ou tExtractXMLField ?

    Oui sauf que lorsque je le lance il me retourne bien mes 2 clients mais avec l'adresse sur une même ligne alors que je souhaite récupérer une des sous balise de <CustomerAdresse>

  4. #4
    Membre régulier
    Homme Profil pro
    Consultant informatique
    Inscrit en
    septembre 2008
    Messages
    170
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : septembre 2008
    Messages : 170
    Points : 104
    Points
    104

    Par défaut

    Salut,

    Le tXmlMap est le meilleur composant il va décortiquer automatiquement tout les sous ensemble......

  5. #5
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    novembre 2016
    Messages
    61
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 23
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : novembre 2016
    Messages : 61
    Points : 29
    Points
    29

    Par défaut

    Citation Envoyé par cragoroth Voir le message
    Salut,

    Le tXmlMap est le meilleur composant il va décortiquer automatiquement tout les sous ensemble......
    Bonjour,

    j'avais essayer de suivre sur petit tutoriel :https://makina-corpus.com/blog/metie...-to-table-rows

    Mais lorsque je relis mon composant XML au tXMLMap, les sous balises n'apparaissent pas (en dessous de la balise mère je vois uniquement une sous balise "root"). Je n'ai pas pu suivre la partie qui explique comment configuré mon composant xml et c'est de la que viens le problème je pense...

  6. #6
    Membre régulier
    Homme Profil pro
    Consultant informatique
    Inscrit en
    septembre 2008
    Messages
    170
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : septembre 2008
    Messages : 170
    Points : 104
    Points
    104

    Par défaut

    Je descend bas pourtant. bizarre. la construction du xml s'il est mal fait ca peut jouer je pense.

    a creuser. ta tjs pas trouvé du coup ?Nom : Sans titre.png
Affichages : 21
Taille : 51,3 Ko

  7. #7
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    novembre 2016
    Messages
    61
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 23
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : novembre 2016
    Messages : 61
    Points : 29
    Points
    29

    Par défaut

    Citation Envoyé par cragoroth Voir le message
    Je descend bas pourtant. bizarre. la construction du xml s'il est mal fait ca peut jouer je pense.

    a creuser. ta tjs pas trouvé du coup ?Nom : Sans titre.png
Affichages : 21
Taille : 51,3 Ko
    Non je n'ai toujours pas trouver. Je n'arrive pas a bien construire mon XML...

  8. #8
    Membre régulier
    Homme Profil pro
    Consultant informatique
    Inscrit en
    septembre 2008
    Messages
    170
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : septembre 2008
    Messages : 170
    Points : 104
    Points
    104

    Par défaut

    il faut au préalable que ton champs soit convertit de XMLTYPE en document afin de pouvoir bien le lire dans le tMap ? c'est le cas ?
    tiens un modèle :
    Nom : Sans titre.png
Affichages : 20
Taille : 88,7 Ko

    tu as une extraction de ton flux talend ? je peux tester si tu veux ?
    tu construit ton xml ? ou tu veux le lire ? ou les deux ? car le construire est une chose.....juste le lire en est une autre

  9. #9
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    novembre 2016
    Messages
    61
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 23
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : novembre 2016
    Messages : 61
    Points : 29
    Points
    29

    Par défaut

    Citation Envoyé par cragoroth Voir le message
    il faut au préalable que ton champs soit convertit de XMLTYPE en document afin de pouvoir bien le lire dans le tMap ? c'est le cas ?
    tiens un modèle :
    Nom : Sans titre.png
Affichages : 20
Taille : 88,7 Ko

    tu as une extraction de ton flux talend ? je peux tester si tu veux ?
    tu construit ton xml ? ou tu veux le lire ? ou les deux ? car le construire est une chose.....juste le lire en est une autre
    Je souhaite mettre un fichier XML en entré. Le lire afin d'extraire certaines informations.

    Je n'arrive pas a comprendre comment on déclare un fichier xml enfin de réalise ce que je veux faire qui est globalement simple. Comme tu l'as dis un simple Tmap suffit.... Mais je ne sais pas vraiment comment déclarer un fichier xml afin de le lire

  10. #10
    Membre régulier
    Homme Profil pro
    Consultant informatique
    Inscrit en
    septembre 2008
    Messages
    170
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : septembre 2008
    Messages : 170
    Points : 104
    Points
    104

    Par défaut

    Tu as essayer avec les metadonnées?
    Nom : Sans titre.png
Affichages : 19
Taille : 57,2 Ko

    envoi ton ficheir xml je peux tester si tu veux....
    c'est vrai que moi le champs était dans un champs de BDD...récupérer d'un formulaire web.
    donc mon champs était un donnée CLOB en base => xmltype => document sous talend.

    la tu veux le fichier en entrée donc via les matadonnées.

  11. #11
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    novembre 2016
    Messages
    61
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 23
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : novembre 2016
    Messages : 61
    Points : 29
    Points
    29

    Par défaut

    Citation Envoyé par cragoroth Voir le message
    Tu as essayer avec les metadonnées?
    Nom : Sans titre.png
Affichages : 19
Taille : 57,2 Ko

    envoi ton ficheir xml je peux tester si tu veux....
    c'est vrai que moi le champs était dans un champs de BDD...récupérer d'un formulaire web.
    donc mon champs était un donnée CLOB en base => xmltype => document sous talend.

    la tu veux le fichier en entrée donc via les matadonnées.
    Je suis entrain de m'entrainer sur ce fichier : https://makina-corpus.com/blog/metie...bular_xml_file

    Je te remercie pour ton aide

  12. #12
    Membre régulier
    Homme Profil pro
    Consultant informatique
    Inscrit en
    septembre 2008
    Messages
    170
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : septembre 2008
    Messages : 170
    Points : 104
    Points
    104

  13. #13
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    novembre 2016
    Messages
    61
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 23
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : novembre 2016
    Messages : 61
    Points : 29
    Points
    29

    Par défaut

    Citation Envoyé par cragoroth Voir le message
    C'est ce tutoriel que j'ai suivi mais malheureusement la partie qui parle de la lecture du fichier xml n'est plus disponible sur le lien qu'il a fourni....

  14. #14
    Membre régulier
    Homme Profil pro
    Consultant informatique
    Inscrit en
    septembre 2008
    Messages
    170
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : septembre 2008
    Messages : 170
    Points : 104
    Points
    104

    Par défaut

    J'ai fais pas mal de test car actuellement j'ai d'autre projet avec du xml et en fait j'ai remarqué que la partie adresse que tu veux récupérer n'est pas conforme à un fichier xml. c'est à dire qu'il manque un loop à cet endroit qui va te permettre de retrouver ton fichier bien classé par les sous sub.....
    j'arrive à récupérer le premier enreigistrement mais pour l'adresse on est sur une seule colonne.
    Et quand je simule le loop via l'import de la métadata talend plante....

    j'ai regarder le processus à l'envers en partant de fichier csv....pour faire un xml et on voit bien la fabrication du loop du fichier xml...

    donc à mon avis si tu veux t'entrainer prend un vrai sujet(ton entreprise) et test directement. car la le fichier ne permet pas de bien travailler car il nous manque une partie du tuto pour bien faire.

  15. #15
    Membre régulier
    Homme Profil pro
    Consultant informatique
    Inscrit en
    septembre 2008
    Messages
    170
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : septembre 2008
    Messages : 170
    Points : 104
    Points
    104

    Par défaut

    ca iest. alors il faut que tu partes des fichiers .csv customers et addresses qu'ils fournissent.
    tu recrés ton xml à partir de là et tu vois qu'en fait tu n'es pas en UTF-8 mais en ISO-8859-15. Ensuite tu bidouille dans ta métadonnée pour arrivé à rafrachir l'aperçu et à avoir ce que tu veux. et hop le tour est joué.

    voila la source pour infotest_.zip

    alors ? sinon change le fichier de base avec le ISO-8859-15 pour voir....après faut jouer avec les balise dans le tFileInputdelimited et faire raffraichir l'aperçu

Discussions similaires

  1. [JDOM] Problème avec le parsing du fichier XML
    Par nounouuuuu201186 dans le forum XML
    Réponses: 2
    Dernier message: 10/02/2012, 15h08
  2. Parsing de fichiers XML : Exception bien bizarre
    Par Grumpy64 dans le forum Android
    Réponses: 11
    Dernier message: 06/11/2010, 15h32
  3. Réponses: 3
    Dernier message: 14/11/2009, 10h26
  4. [SAX] Resultat d'un parsing de fichier XML
    Par t.n.b.g dans le forum XML
    Réponses: 6
    Dernier message: 07/03/2008, 17h12
  5. Parsing de fichier XML en C
    Par longbeach dans le forum XML
    Réponses: 12
    Dernier message: 12/12/2006, 17h31

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