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

Format d'échange (XML, JSON...) Java Discussion :

Faire correspondre 2 XML [XPATH]


Sujet :

Format d'échange (XML, JSON...) Java

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    39
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 39
    Par défaut Faire correspondre 2 XML
    Salut tout le monde,
    est il possible de faire une jointure de 2 fichier XML qui possede un attribut en commun?
    (un peu dans le meme genre qu'en SQL)

  2. #2
    Rédacteur
    Avatar de CyberChouan
    Homme Profil pro
    Directeur technique
    Inscrit en
    Janvier 2007
    Messages
    2 752
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Janvier 2007
    Messages : 2 752
    Par défaut
    Bien sûr que oui... en programmant la méthode qui va bien avec un peu d'huile de coude (et de JDom)!

    Tu lis tes deux fichiers, et tu en crées un troisième, résultat de la jointure des deux autres en faisant les tests que tu veux (pas de doublons, etc.)
    Avant de poster, pensez à regarder la FAQ, les tutoriaux, la Javadoc (de la JRE que vous utilisez) et à faire une recherche
    Je ne réponds pas aux questions techniques par MP: les forums sont faits pour ça
    Mes articles et tutoriaux & Mon blog informatique

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    39
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 39
    Par défaut
    Ok merci,
    je pensais qu'il y avait peut etre une formule magique
    je dois lire l'integralité de mes fichier?

  4. #4
    Rédacteur
    Avatar de CyberChouan
    Homme Profil pro
    Directeur technique
    Inscrit en
    Janvier 2007
    Messages
    2 752
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Janvier 2007
    Messages : 2 752
    Par défaut
    Je ne sais pas... Tout dépend si tu veux faire un join sur tout le fichier ou juste une partie.

    Mais à priori, tu ne vas pas avoir le choix. La première étape est de créer une représentation de ton fichier XML sous la forme d'un arbre en mémoire.
    JDom sait faire ça... mais pas partiellement sur une partie du fichier seulement.

    Par contre, une fois ton fichier mis en mémoire, tu peux bien évidemment ne travailler que sur la partie qui t'intéresse.
    Avant de poster, pensez à regarder la FAQ, les tutoriaux, la Javadoc (de la JRE que vous utilisez) et à faire une recherche
    Je ne réponds pas aux questions techniques par MP: les forums sont faits pour ça
    Mes articles et tutoriaux & Mon blog informatique

  5. #5
    Membre éprouvé
    Inscrit en
    Septembre 2005
    Messages
    147
    Détails du profil
    Informations forums :
    Inscription : Septembre 2005
    Messages : 147
    Par défaut
    Il est possible de récuperer facilement les 2 parties qui t'intéresse grace à XPath
    (javax.xml.xpath)
    - Tu évalue ta première expression xpath sur le premier fichier, ca te renvoie un noeud (ou des noeuds)
    - Tu évalue ta deuxième expression xpath sur ton deuxième fichier, ca te renvoie un autre noeud (ou d'autres noeuds)
    - Tu fait ta bidouille pour lier les noeuds
    - Tu écrit le noeud résultat dans ton fichier résultat

  6. #6
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    39
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 39
    Par défaut
    Merci bien
    En fait en reflechissant bien c vraiment une jointure de bout à a bout que je vais faire
    exemple
    mon premier xml comporte:
    -Pays
    -region
    -ville
    et mon deuxiemme
    -ville
    -arrondisement
    -habitants
    et je voudrai faire la jointure sur ville
    sachant que mon xml est plus complexe ,suis je obligé d'iterer a chaque noeud?

  7. #7
    Membre éprouvé
    Inscrit en
    Septembre 2005
    Messages
    147
    Détails du profil
    Informations forums :
    Inscription : Septembre 2005
    Messages : 147
    Par défaut
    tu dois pouvoir faire ca en xslt.
    Sinon il y a xmlquery qui permet de faire presque comme du sql

  8. #8
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    39
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 39
    Par défaut
    merci j'y suis arrivé en combinant jdom et xpath ,ça m'a évité de tout parcourir

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

Discussions similaires

  1. faire correspondre deux fichiers XML
    Par Ya7yaKech dans le forum Windows Forms
    Réponses: 21
    Dernier message: 22/01/2009, 19h25
  2. faire correspondre un objet a un fichier xml
    Par david06600 dans le forum Langage
    Réponses: 1
    Dernier message: 15/08/2006, 14h38
  3. Réponses: 12
    Dernier message: 27/12/2005, 13h16
  4. Réponses: 4
    Dernier message: 03/04/2005, 14h26
  5. [DOM] parser une String pour en faire un document XML
    Par Fladnag dans le forum Format d'échange (XML, JSON...)
    Réponses: 9
    Dernier message: 29/03/2004, 11h04

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