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

XSL/XSLT/XPATH XML Discussion :

[XPATH] Récupérer un élément dans un fichier XML


Sujet :

XSL/XSLT/XPATH XML

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de be_tnt
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    312
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Novembre 2005
    Messages : 312
    Par défaut [XPATH] Récupérer un élément dans un fichier XML
    Voilà mon programme reçoit un fichier xml. De ce fichier, je voudrais extraire la valeur d'un élément avec xpath (dans une classe Java). Mon fichier XML a plusieurs namespace. Est-il possible de les ignorer? Actuellement je n'arrive pas à récupérer la valeur de mon élément et je pense que c'est dû aux namespaces.

    Merci d'avance de votre aide.

  2. #2
    Membre éclairé Avatar de be_tnt
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    312
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Novembre 2005
    Messages : 312
    Par défaut
    En ajoutant la propriété suivante à mon DocumentBuilderFactory, cela fonctionne:

    domFactory.setFeature("http://xml.org/sax/features/namespaces", false);

    Mais est-ce clean comme solution?

  3. #3
    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,

    Citation Envoyé par be_tnt
    Mais est-ce clean comme solution?
    Non, pas vraiment... La solution correcte consiste à utiliser un contexte d'espace de noms (NamespaceContext), c'est décrit dans la FAQ.
    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

  4. #4
    Membre éclairé Avatar de be_tnt
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    312
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Novembre 2005
    Messages : 312
    Par défaut
    Citation Envoyé par GrandFather
    Bonjour,


    Non, pas vraiment... La solution correcte consiste à utiliser un contexte d'espace de noms (NamespaceContext), c'est décrit dans la FAQ.
    Oui mais je ne voulais pas inclure dans mon code Java des namespaces en "dur". Finalement j'ai choisi une autre solution qui consiste à partir l'arbre DOm à la recherche de mon élément.

  5. #5
    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
    Citation Envoyé par be_tnt
    Oui mais je ne voulais pas inclure dans mon code Java des namespaces en "dur".
    Pourquoi ? Puisque tu connais a priori la structure de ton XML (sans cela tu ne pourrais pas faire de recherches dedans), je ne vois pas de raison d'exclure de ces connaissances les namespaces utilisés, à moins qu'ils ne changent d'une instance XML à l'autre sans que la structure XML elle ne change, ce qui est un cas de figure particulièrement exotique...
    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

  6. #6
    Membre éclairé Avatar de be_tnt
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    312
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Novembre 2005
    Messages : 312
    Par défaut
    Citation Envoyé par GrandFather
    Pourquoi ? Puisque tu connais a priori la structure de ton XML (sans cela tu ne pourrais pas faire de recherches dedans), je ne vois pas de raison d'exclure de ces connaissances les namespaces utilisés, à moins qu'ils ne changent d'une instance XML à l'autre sans que la structure XML elle ne change, ce qui est un cas de figure particulièrement exotique...
    Si je les mets en dur dans le code, cela veut dire qu'en cas de changement de namespace (ou de nouveau), je devrais recompiler mon code. Ceci est une chose que j'évite au maximum.

Discussions similaires

  1. récupérer un seul élément dans un fichier xml
    Par boboss76 dans le forum VBScript
    Réponses: 4
    Dernier message: 08/12/2010, 09h35
  2. [DOM] Insertion d'élément dans un fichier XML en PHP
    Par marcus13 dans le forum Bibliothèques et frameworks
    Réponses: 4
    Dernier message: 03/04/2008, 13h51
  3. Comment ajouter un élément dans un fichier XML
    Par sorilazer dans le forum Format d'échange (XML, JSON...)
    Réponses: 5
    Dernier message: 04/06/2007, 21h56
  4. [](VB) Récupérer les données dans un fichier .xml
    Par Furius dans le forum VBScript
    Réponses: 4
    Dernier message: 02/10/2005, 20h39
  5. Réponses: 14
    Dernier message: 01/12/2003, 17h47

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