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 :

Aller à un noeud directement [SAX]


Sujet :

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

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre très actif
    Profil pro
    Inscrit en
    Mars 2010
    Messages
    549
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2010
    Messages : 549
    Par défaut Aller à un noeud directement
    salut

    j'utilse sax

    je cherche a aller a un certain noeud directement
    sans devoir lire tous les attributs

    par exemple, avec le code ci-dessous
    si je veux aller à contract,
    je voudrais ne pas avoir à lire toutes les balises de l'employé de type permanent (soit tous les name)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    <Personnel>
      <Employee type="permanent">
            <Name>Seagull</Name>
            <Name>Crow</Name>
       </Employee>
      <Employee type="contract">
            <Name>Robin</Name>
        </Employee>
    </Personnel>
    il y aurait t'il un moyen?

    merci

  2. #2
    Expert éminent
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Par défaut
    pas avec sax en tant que tel. SAX et une api évènementielle où le reader va envoyer un évènement à chaque fois qu'il rencontre une balise. Il n'y a donc pas de "saut" dans un fichier.

    Par contre, pour trouver des données précises dans un fichier, pourquoi ne pas plutot utiliser les api XPath?

    http://java.developpez.com/sources/?page=xml#NodeXPath

    le xpath suivant devant faire l'affaire:
    Personnel/Employee[@type='contract']

  3. #3
    Membre très actif
    Profil pro
    Inscrit en
    Mars 2010
    Messages
    549
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2010
    Messages : 549
    Par défaut
    je savais que sax était évènementiel mais je pensais qu'il y avait certaine possibilité de faire autrement

    en fait c'était pour une application android et je me suis rendu compte que xpath était dispo que depuis la version 2.2 trop récente... il y a moyen d'ajout des jar... mais le programme deviens encore plus volumineux...

    je pense passer d'un fichier xml à un fichier text et le parser directement... moins lourd et plus rapide je crois

  4. #4
    Membre Expert
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    1 466
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 1 466
    Par défaut
    L'api StAX est à ~200ko et à une approche selective (pull) des noeuds qu'on cherche à traiter.
    http://stax.codehaus.org/Home

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 20/09/2009, 17h11
  2. [E-03]aller directement a la fin d'une boucle While
    Par kristoch91 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 29/10/2008, 14h30
  3. Réponses: 2
    Dernier message: 28/10/2008, 22h36
  4. [OutLook] Aller directement dans "nouveau message"
    Par pierrot67 dans le forum Delphi
    Réponses: 2
    Dernier message: 11/02/2007, 17h10
  5. Aller directement dans un objet de la base
    Par jalbec dans le forum Access
    Réponses: 12
    Dernier message: 23/11/2006, 19h45

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