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 :

Xml parsé dans un tableau


Sujet :

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

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Mai 2007
    Messages
    127
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 127
    Par défaut Xml parsé dans un tableau
    Bonjour à tous.
    Voila, pour mon application, j'ai un xml que je parse à l'aide sax, mais j'aimerai pouvoir le récuperer sous forme de
    monTableau["firstNode"]["secondNode"][nElement] = valeur
    mais ca peux aussi etre:
    monTableau["firstNode"] = valeur
    monTableau["firstNode"]["sousniveau"] = autrevaleur
    etc...

    les attributs seraient sous la forme d'un # indiqué, genre si firstNode à un attribut id :
    monTableau["firstNode"]["#"]["id"]=(int) un_id;

    comment pourrais-je faire ?

    Ou auriez vous une autre solution plus performante ?

    Dans l'idée, j'ai une classe saxParser extends DefaultHandler, qui me permet de parser le fichier xml, cette classe est appelée par une autre, qui lui passe un xml en tant que String.
    Ma classe saxParser marche sans probleme, j'arrive à parser le xml (avec des System.out.println) mais je ne sais pas comment le mettre dans un tableau/list/collection ?

    Merci de votre aide

  2. #2
    Membre confirmé
    Inscrit en
    Mai 2007
    Messages
    127
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 127
    Par défaut
    j'ai peut-être une alternative, mais j'aimerai votre avis.

    Ca va me faire beaucoup plus de fichier, donc je me demande si c'est la meilleure.

    En fait voila, je vais faire autant de classes filles de saxParser que j'ai besoin. Ces filles redéfinieront les fonctions de la classe mère que j'ai besoin (genre startElement) afin de trouver ce dont j'ai besoin.

    Ce qui fait que pour chaques xml différents, je devrais faire une classe fille différent.

    Pensez-vous que l'idée soit valable ?

  3. #3
    Membre confirmé
    Inscrit en
    Mai 2007
    Messages
    127
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 127
    Par défaut
    Bon, j'ai un peu évolué, mais je reste toujours bloqué !
    Au lieu de faire plusieurs fichier, j'ai pensé passer par des requetes XPATH

    j'ai une classe qui s'occupe de faire la requete et me retourner un nodeList contenant la valeur des résultats.
    Seul probleme, si je fait un XPATH : /firstNode/@
    afin de récupérer tous les attributs de l'élément firstNode, déjà je ne les ai pas dans l'ordre, et ensuite je ne sais pas qui est quoi !
    Auriez-vous une idée de comment savoir qui est quoi ?

    Une alternative possible serait de faire
    /firstNode/@id
    puis
    /firstNode/@name
    etc..

    mais ca risque de faire lourd non ?
    Que dois-je faire ? continuer sur du XPath ou repartir sur ma premiere idée ?

    Merci de votre aide

Discussions similaires

  1. XML dynamique dans un tableau
    Par Gnaag dans le forum Android
    Réponses: 0
    Dernier message: 13/04/2012, 14h09
  2. Fichier XML parsé dans flash et le caractère &
    Par Dsphinx dans le forum Flash
    Réponses: 4
    Dernier message: 18/12/2007, 19h52
  3. Trier les données dans 1 tableau par ordre décroissant
    Par Blunet dans le forum VB 6 et antérieur
    Réponses: 8
    Dernier message: 23/11/2005, 09h56
  4. URGENt: recherche dans un tableau trié par ordre alphabetiqu
    Par JulPop dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 12/02/2005, 17h21
  5. [XML-XSLT] Données dans un tableau
    Par Hoegaarden dans le forum XSL/XSLT/XPATH
    Réponses: 5
    Dernier message: 10/12/2004, 15h51

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