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 :

Gestion du Namespace [XPATH]


Sujet :

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

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    7
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 7
    Par défaut Gestion du Namespace
    Bonjour tout le monde,

    ça faisait longtemps que je n'avais pas eu besoin de vos conseils, mais là, j'a beau chercher, je n'ai rien trouvé

    Je fais une servlet qui va chercher sur le net un document xml puis qui doit la parser et sauvegarder quelques info. J'utilise la fonction evaluerSax ( http://java.developpez.com/faq/xml/?...pathexpression) pour recupérer les attributs de ce noeud :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    <rss>
    	<channel>
    		<item>
    			<yweather:condition text="Fog" code="20" temp="11" date="Fri, 27 Apr 2007 9:00 am CEST" />
    		</item>
    	</channel>
    </rss>
    Mon problème : je n'arrive pas à trouver la bonne expression xpath pour gérer le namespace et avoir correctement mes informations.

    Quelqu'un aurait-il une idée ?

    EDIT : je crois que je me suis trompé de forum, un modo peut le mettre dans le sous-forum XSL/XSLT/XPATH svp ?

  2. #2
    Expert confirmé
    Avatar de GrandFather
    Inscrit en
    Mai 2004
    Messages
    4 587
    Détails du profil
    Informations personnelles :
    Âge : 55

    Informations forums :
    Inscription : Mai 2004
    Messages : 4 587
    Par défaut
    Bonjour,

    la réponse n'est pas dans l'expression XPath, tu dois donner au moteur XPath le moyen de savoir à quel URI correspond le préfixe yweather. Cela se fait en lui spécifiant un object Contexte d'espace de noms (NamespaceContext) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    ...
    XPath xpath = fabrique.newXPath();
    xpath.setNamespaceContext(myNamespaceContext);
    ...
    myNamespaceContext est une instance d'un objet que tu dois créer qui implémente l'interface NamespaceContext.
    FAQ XML
    ------------
    « Le moyen le plus sûr de cacher aux autres les limites de son savoir est de ne jamais les dépasser »
    Giacomo Leopardi

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    7
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 7
    Par défaut
    fiou, j'ai du pas mal réfléchir à ce que tu disais, j'ai fait quelques autres recherches, notamment pour trouver l'URI correspondant au namespace, mais le résultat est là !

    Je mets un lien supplémentaire qui m'a aidé : http://java.developpez.com/faq/xml/?...namespaceXPath

    je te remercie GrandFather, grace a toi, je partirai en week end la tête tranquille

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

Discussions similaires

  1. gestion des namespaces avec LINQ XML
    Par flo1981 dans le forum Linq
    Réponses: 1
    Dernier message: 27/11/2009, 10h06
  2. Réponses: 4
    Dernier message: 11/04/2008, 11h26
  3. [JAXB] gestion namespace jaxb jaxp
    Par champion dans le forum Format d'échange (XML, JSON...)
    Réponses: 2
    Dernier message: 23/11/2007, 09h42
  4. [XSD] Gestion des namespaces et des imports
    Par fedfil dans le forum Valider
    Réponses: 1
    Dernier message: 12/01/2006, 14h54
  5. gestion d'un joystick ...
    Par Anonymous dans le forum DirectX
    Réponses: 1
    Dernier message: 23/05/2002, 12h53

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