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 :

Parcours Récursif XML


Sujet :

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

  1. #1
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2012
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2012
    Messages : 13
    Par défaut Parcours Récursif XML
    Bonjour a tous,


    Actuellement j'utilise XMLBeam comme API pour parser du XML, j'en suis très content et fonctionne très bien.
    Avec cette API on peut mapper des requête XPath sur des méthode Java.
    mais j'ai un problème que je ne pense pas résoudre avec seulement du XPath, voici mon problème.
    j'ai un XML de cette forme :

    <contents xsu:type="struct" name="nom1" />
    <members name="nom2" type="#nom5"/>
    <members name="nom3" type="#nom6"/>
    <members name="nom4" type="#nom7"/>
    </contents>

    <contents xsi:type="integer" name="nom5" size=4/>

    <contents xsu:type="struct" name="nom6" />
    <members name="nom2" type="#nom8"/>
    <members name="nom3" type="#nom9"/>

    </contents>
    <contents xsi:type="integer" name="nom8" size=8/>
    <contents xsi:type="integer" name="nom9" size=32/>
    <contents xsi:type="integer" name="nom7" size=16/>



    Malheureusement je ne peux pas modifier le XML,
    Comme on peut le voir, l'attribut type fait référence a un autre attribut name dans un autre contents, j'ai besoin de naviguer au plus profond jusqu'au point ou xsi:type contienne integer.
    Je ne voit pas trop comment prendre ce problème, pensais le faire de manière récursive dans ce style en pseudo code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    getSize(ligneXml){
    newLigneXml = getLigneXmlWithAttribute(ligneXml.type);
    if(newligneXml.xsi:type = integer){
        return ligneXml.size;
    }else{
        this.getsize(newLigneXml);
    }
     
     
     
    }
    Mais codé en Java, ça marche pas des masses.
    vous aurez un solutions?

    Merci de votre aide.

  2. #2
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 582
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 582
    Par défaut
    Hello,

    Citation Envoyé par Tumeconnais Voir le message
    mais j'ai un problème que je ne pense pas résoudre avec seulement du XPath
    Je confirme.

    Citation Envoyé par Tumeconnais Voir le message
    Malheureusement je ne peux pas modifier le XML,
    Oui enfin, de toute façon tu aurais mis quoi, à la place -_-° ?

    Citation Envoyé par Tumeconnais Voir le message
    Mais codé en Java, ça marche pas des masses.
    Mais encore ?

    Dans ce pseudocode, je vois deux choses qui me déplaisent :
    - ligneXml.type n'a pas de sens. Tes éléments ont un xsi:type mais pas un type tout court. Ce sont leurs contenus qui en ont un. Et il y a plus d'un contenu. Alors lequel faut-il prendre ?
    - En principe pour calculer la taille d'une structure on devrait faire la somme de ce qu'elle contient, donc on devrait avoir une somme quelque part.

    Mais ce sont des erreurs dans ton pseudocode, ce ne sont pas des difficultés d'implémentation en Java.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

Discussions similaires

  1. Parcours récursif d'arborescence
    Par syl2095 dans le forum Linux
    Réponses: 10
    Dernier message: 12/12/2006, 15h09
  2. [XSLT] style du texte, parcours arbre XML
    Par helter_skelter dans le forum XSL/XSLT/XPATH
    Réponses: 2
    Dernier message: 28/11/2006, 23h10
  3. parcours récursif de dossiers selon un niveau un niveau de profondeur
    Par terminatorsk8 dans le forum VB 6 et antérieur
    Réponses: 6
    Dernier message: 21/08/2006, 20h14
  4. Parcours fichier xml
    Par Christophe Charron dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 22/05/2006, 20h37

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