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

Développement de jobs Discussion :

[talend 3.2][Arbre XML]Recuperation de tous les descendant dun neoeud


Sujet :

Développement de jobs

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Analyste Programmeur
    Inscrit en
    Janvier 2008
    Messages
    114
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Congo-Kinshasa

    Informations professionnelles :
    Activité : Analyste Programmeur

    Informations forums :
    Inscription : Janvier 2008
    Messages : 114
    Par défaut [talend 3.2][Arbre XML]Recuperation de tous les descendant dun neoeud
    Bonjour,
    j'ai un fichier XML, je voudrais savoir comment faire pour recupéré les noeuds fils d'un champs donnée!
    ou meme cmt recupéré les noeuds peu importe où mais quand même les recupéré.
    Je suis totalement perdu, jai du mal avec ce fichier qui me coince pour la suite de mon projet, toute proposition est bienvenue!!

    MERCI

  2. #2
    Membre Expert
    Avatar de haskouse
    Homme Profil pro
    Salesforce
    Inscrit en
    Août 2009
    Messages
    923
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : Maroc

    Informations professionnelles :
    Activité : Salesforce
    Secteur : Conseil

    Informations forums :
    Inscription : Août 2009
    Messages : 923
    Par défaut
    Bonjour Slimlus,

    J'ai déjà eu ce problème et j'ai posté la réponse sur un sujet que j'ai crée moi même, je pense que tu y trouveras ton bonheur , suis ce lien ,

    http://www.developpez.net/forums/d98...ml-vers-table/


    Bonne chance
    "Le savant qui enseigne le bien aux gens et ne le met pas en pratique, est semblable à la torche qui éclaire en se brûlant." Mohammed le Messager d’Allah (que la paix et le salut d'Allah soient sur lui)

    Tutoriels Talend
    Mes articles publiés
    Mon CV en-ligne

  3. #3
    Membre confirmé
    Homme Profil pro
    Analyste Programmeur
    Inscrit en
    Janvier 2008
    Messages
    114
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Congo-Kinshasa

    Informations professionnelles :
    Activité : Analyste Programmeur

    Informations forums :
    Inscription : Janvier 2008
    Messages : 114
    Par défaut
    Bonjour et merci pour la réponse!

    ça doit etre la 4ieme discussion que je crée, j'ai + de 200 visite sur les discussion et c'est la première réponse (une lueur d'espoir!!!)

    J'ai un souci, dans la plupart des schéma talend, il ne boucle que sur un seul des champs, hors, dans le mien, il a 2 boucle interne en suivant le schema généré par OXYGEN. et celui généré par talend en a 18 imbriqué!!!

    Je joint une image pour plus d'indication!



    Merci encore!
    Images attachées Images attachées  

  4. #4
    Membre Expert
    Avatar de haskouse
    Homme Profil pro
    Salesforce
    Inscrit en
    Août 2009
    Messages
    923
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : Maroc

    Informations professionnelles :
    Activité : Salesforce
    Secteur : Conseil

    Informations forums :
    Inscription : Août 2009
    Messages : 923
    Par défaut
    Bonjour,

    Je vois que tu essaies de créer un schéma XML dans Talend, personnellement j'ai déjà essayé de faire ça et j'ai galéré, ce n'est pas très clair leur truc, personnellement j'ai beaucoup travaillé avec de l'XML sans utiliser ce truc et je m'en suis sorti pas mal,

    Moi je place un tAdvancedFileOutputXML dans le JOB puis en double cliquant sur ce composant il t'ouvre l'arbre XML à droite, là tu vas sur le root et tu fais un clique droit et tu choisis "importer un arbre XML" et tu choisis ton XML en question , bon ça sert surtout pour générer des sorties mais c'est bon à savoir.

    Sinon pour ce qui est de l'entrée il y'a un composant : tFileInputMSXML qui lit les fichiers multiNiveaux,

    Ceci dit je crois que la solution de ton problème c'est de trouver la bonne requête XPath.

    Essai d'envoyer un exemple de XML très très simple et dis ce que tu essaie de récupérer et je verrais si je pourrais faire quelque chose.

    Bonne chance.
    "Le savant qui enseigne le bien aux gens et ne le met pas en pratique, est semblable à la torche qui éclaire en se brûlant." Mohammed le Messager d’Allah (que la paix et le salut d'Allah soient sur lui)

    Tutoriels Talend
    Mes articles publiés
    Mon CV en-ligne

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2010
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2010
    Messages : 5
    Par défaut Comment boucler sur un noeud de niveau hirarchique inférieur à la requête Xpath boucle ?
    Comment boucler sur un noeud de niveau hirarchique inférieur à la requête Xpath boucle ?

    J'utilise le composant TfileInputXml

    Je veux intégrer un fichier xml avec une hiérarchie de noeuds qui peuvent se multpilier.
    je simplifie leproblème, mais cela le pose correctement

    Exemple
    <Racine>
    <Informationsgenerales>
    <Identifiantdossier>
    <NUMORGANISATION>1234</NUMORGANISATION>
    <NOMORGANISATION>TARTEMPION</NOMORGANISATION>
    </Identifiantdossier>
    <Personne>
    <QUAL>MONSIEUR</QUAL>
    <NOM>DUPONT</NOM>
    <PRENOM>ALBERT</PRENOM>
    <DATENAISS>2000-01-01</DATENAISS>
    </Personne>
    <Personne>
    <QUAL>MADAMER</QUAL>
    <NOM>DUPONT</NOM>
    <PRENOM>SIMONE</PRENOM>
    <DATENAISS>2000-02-02</DATENAISS>
    </Personne>
    </Informationsgenerales>
    <Informationsgenerales>
    <Identifiantdossier>
    <NUMORGANISATION>1234</NUMORGANISATION>
    <NOMORGANISATION>TARTEMPION</NOMORGANISATION>
    </Identifiantdossier>
    <Personne>
    <QUAL>MONSIEUR</QUAL>
    <NOM>DURAND</NOM>
    <PRENOM>ROGER</PRENOM>
    <DATENAISS>2000-03-03</DATENAISS>
    </Personne>
    <Personne>
    <QUAL>MADAME</QUAL>
    <NOM>DURAND</NOM>
    <PRENOM>SOPHIE</PRENOM>
    <DATENAISS>2000-04-04</DATENAISS>
    </Personne>
    </Informationsgenerales>
    </Racine>

    Je mets le la requête Xpath boucle dans le component à: "/Racine/Informationsgenerales/Identifiantdossier"

    J'obtiens bien les deux dossiers, mais avec la première personne et pas la deuxième.
    je veux charger 2 tables où j'aurais en simplifiant

    TABLE DOSSIER : 2 colonnes
    NUMORGANISATION NOMORGANISATION

    TABLE PERSONNE : 5 colonnes
    NUMORGANISATION QUAL NOM PERNOM DATENAISS

    La jointure se faisant sur NUMORGANISATION (unique)

  6. #6
    Membre Expert
    Avatar de haskouse
    Homme Profil pro
    Salesforce
    Inscrit en
    Août 2009
    Messages
    923
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : Maroc

    Informations professionnelles :
    Activité : Salesforce
    Secteur : Conseil

    Informations forums :
    Inscription : Août 2009
    Messages : 923
    Par défaut
    Salut,
    Voilà comme ça ton problème est beaucoup plus clair,

    Bon j'ai une idée pour contourner le problème, puisque c'est la balise "Personne" se répète plus que la balise "Identifiantdossier" il vaut mieux boucler sur elle.

    Je t'explique :

    dans le champs Requete XPath boucle tu mets : "/Racine/Informationsgenerales/Personne"
    Dans les autres champs tu fais comme suivant :

    numOrganisation : "../Identifiantdossier/NUMORGANISATION"
    nomOrganisation : "../Identifiantdossier/NOMORGANISATION"
    QUAL : "./QUAL"
    NOM : "./NOM "
    PERNOM : "./PERNOM "
    DATENAISS : "./DATENAISS "

    Voilà comme ça ton job va te renvoyer toutes les balises personnes qui existent dans ton XML avec le numéro d'organisation et le nom de l'organisation.

    Remarque que ce qui est important ici c'est la requête ../Identifiantdossier/NUMORGANISATION avec les deux points pour remonter vers la balise de niveau plus haut qui est "Informationsgenerales" puis descendre vers la balise du même niveau "Identifiantdossier".

    J'espère que j'ai été claire, bonne chance pour la suite.
    "Le savant qui enseigne le bien aux gens et ne le met pas en pratique, est semblable à la torche qui éclaire en se brûlant." Mohammed le Messager d’Allah (que la paix et le salut d'Allah soient sur lui)

    Tutoriels Talend
    Mes articles publiés
    Mon CV en-ligne

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [talend 5.6][Arbre XML]Récupération d'une donnée dans plusieurs boucles
    Par FloCAD dans le forum Développement de jobs
    Réponses: 2
    Dernier message: 01/04/2015, 14h56
  2. recuperation de tous les caractéres avant le .
    Par vince2005 dans le forum Scripts/Batch
    Réponses: 3
    Dernier message: 09/01/2012, 16h42
  3. Réponses: 9
    Dernier message: 21/07/2009, 17h45
  4. Réponses: 2
    Dernier message: 16/06/2008, 14h08
  5. [JAXB] XML généré avec tous les xmlns : comment les virer ?
    Par Ougha dans le forum Format d'échange (XML, JSON...)
    Réponses: 1
    Dernier message: 17/04/2008, 15h27

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