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

EDI et Outils pour Java Discussion :

Fichier XML "ordre variable" à charger dans un Tableau


Sujet :

EDI et Outils pour Java

  1. #1
    Membre confirmé
    Avatar de argoet
    Inscrit en
    Mai 2002
    Messages
    582
    Détails du profil
    Informations forums :
    Inscription : Mai 2002
    Messages : 582
    Points : 562
    Points
    562
    Par défaut Fichier XML "ordre variable" à charger dans un Tableau
    [Mode Newbie java Activé]

    Bonjour a tous
    Je doit charger le fichier XML suivant

    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"?>
    <Response>
      <entry>
        <Query>"info1,info3,info2"</Query>
      </entry>
      <Result>
        <NiD value="Id567">"","",""</NiD>
        <NiD value="Id8901">"From XML Info 1 de Id8901","",""</NiD>
        <NiD value="Id123">"From XML Info 1 de Id123","From XML Info 3 de 123","From XML Info 2 de Id123"</NiD>
        <NiD value="Id2222">"From XML Info 1 de Id2222","",""</NiD>
        <NiD value="Id2">"From XML Info 1 de Id2","","From XML Info 2 de Id2"</NiD>   
      </Result>
    </Response>
    Le Tag "Query" permet de savoir dans quel ordre les informations associées à un Id sont placées dans le Tag "Nid"
    ici info3 est placé après info1 et avant info2
    Dans le tag "Nid" chaque info est entre double quote (") et séparé par une virgule.

    Existe t'il des outils java permettant de parser le Tag "Query" pour ensuite savoir dans quel ordre les infos sont placées dans le tag "Nid"
    afin de charger le tableau suivant
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    ======+=========================+========================+========================+
    NiD   | info1                   | info2                  | info3                  |
    ======+=========================+========================+========================+
    Id567 |                         |                        |                        |
    ------+-------------------------+------------------------+------------------------+
    Id8901|From XML Info 1 de Id8901|                        |                        |
    ------+-------------------------+------------------------+------------------------+
    Id123 |From XML Info 1 de Id123 |From XML Info 2 de Id123|From XML Info 3 de Id123|
    ------+-------------------------+------------------------+------------------------+
    Id2222|From XML Info 1 de Id2222|                        |                        |
    ------+-------------------------+------------------------+------------------------+
    Id2   |From XML Info 1 de Id2   |From XML Info 2 de Id2  |                        |
    ======+=========================+========================+========================+
    Merci de votre aide
    Cordialement
    @rgoet
    Signé : Capitaine Jean-Luc Picard

  2. #2
    Membre actif Avatar de MaitreKaio
    Profil pro
    Freelance Java / Web / Mobile
    Inscrit en
    Juin 2007
    Messages
    140
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Freelance Java / Web / Mobile
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juin 2007
    Messages : 140
    Points : 240
    Points
    240
    Par défaut
    Les librairies qui vont te permettre de faire çà sont légion:

    http://java.developpez.com/faq/xml/?page=generalitesXML

    Ce qu'il faut savoir, c'est qu'il y a deux approches:
    - bas niveau: SAX lit ton fichier XML et déclenche des événements auquel tu réagis
    - haut niveau: DOM construit un arbre représentant le contenu de ton fichier. Arbre que tu peux parcourir à volonté.

    Vu que ton fichier est petit, je pense que DOM est la meilleure approche. A partir du moment où l'arbre est construit, il te sera facile d'accéder au contenu de l'élément Query, de l'analyser et de traiter en conséquence le contenu de tes élément Nid
    J'ai des questions à toutes vos réponses (Woody Allen)
    Mon entreprise: http://qi2-software.fr
    Mon blog Java: http://torrefacteurjava.fr
    Mon blog Pas Java: http://bloq.qi2-software.fr

  3. #3
    Membre confirmé
    Avatar de argoet
    Inscrit en
    Mai 2002
    Messages
    582
    Détails du profil
    Informations forums :
    Inscription : Mai 2002
    Messages : 582
    Points : 562
    Points
    562
    Par défaut
    Citation Envoyé par MaitreKaio Voir le message
    Vu que ton fichier est petit, je pense que DOM est la meilleure approche.
    Merci à vous MaitreKaio pour ces précisions .
    Mais si mon fichier exemple est effectivement petit , l'original , lui , peu etre enorme . Je ne peux donc pas le lire directement en mémoire
    Signé : Capitaine Jean-Luc Picard

  4. #4
    Membre actif Avatar de MaitreKaio
    Profil pro
    Freelance Java / Web / Mobile
    Inscrit en
    Juin 2007
    Messages
    140
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Freelance Java / Web / Mobile
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juin 2007
    Messages : 140
    Points : 240
    Points
    240
    Par défaut
    Si ton fichier est gros, alors effectivement SAX est une meilleure solution.
    Tu interceptes l'événement de lecture de Query, tu analyses le contenu et le stocke en mémoire. Lors de l'interception des événement Nid, tu utilises ce contenu pour faire les bons traitements.
    Tout ca pour chaque Response bien sûr.
    J'ai des questions à toutes vos réponses (Woody Allen)
    Mon entreprise: http://qi2-software.fr
    Mon blog Java: http://torrefacteurjava.fr
    Mon blog Pas Java: http://bloq.qi2-software.fr

Discussions similaires

  1. Réponses: 1
    Dernier message: 09/05/2012, 10h39
  2. Réponses: 2
    Dernier message: 03/03/2009, 09h52
  3. [XML] validation de fichier XML:l'ordre des balises compte ?
    Par longbeach dans le forum XML/XSL et SOAP
    Réponses: 2
    Dernier message: 04/09/2005, 18h53

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