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

Taglibs Java Discussion :

xml : récupérer un attribut [JSTL]


Sujet :

Taglibs Java

  1. #1
    Membre habitué
    Inscrit en
    Avril 2010
    Messages
    9
    Détails du profil
    Informations forums :
    Inscription : Avril 2010
    Messages : 9
    Par défaut xml : récupérer un attribut
    Salut à tous,

    J'utilise la lib xml pour parser un fichier xml de ce type :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    <?xml version="1.0" encoding="UTF-8"?>
    <help>
    	<help_page context="test1" link="tt.html" />
    	<help_page context="test2" link="tt/tt.html" />
    	<help_page context="test3" link="tt/TT/Tt.html" />
    </help>
    Voici le bout de page JSP :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    <c:import url="HelpPages.xml" varReader="myFileReader">
    	<x:parse var="doc" doc="${myFileReader}" />
     
    	<x:forEach var="help_page" select="$doc/help/help_page">
    	    <x:out select="$help_page['link']"/>
    	    <x:if select="$help_page[@context='test1']">
    	        <x:out select="$help_page['context']"/>
    	        Yeeaahh !
    	    </x:if>
    	</x:forEach>
    </c:import>
    Le parsing fonctionne bien, puisque ça affiche bien le "Yeah", donc rentre dans le if.

    Ma question est : comment je récupère la valeur de mes attributs xml context et link afin de les afficher ? C'est probablement très con, mais je sèche. J'ai essayé ainsi $help_page['link'], mais ce n'est visiblement pas comme cela que ça marche, puisque rien n'est affiché dans mon html final autre que "Yeah"...

    Merci !

  2. #2
    Membre habitué
    Inscrit en
    Avril 2010
    Messages
    9
    Détails du profil
    Informations forums :
    Inscription : Avril 2010
    Messages : 9
    Par défaut
    Autant pour moi, je viens de comprendre.

    Il fallait bien utiliser le XPath @ comme je l'avais à peu près bien fait dans mon if, mais puisque je pars de ma balise xml <help_page> directement, j'ai juste besoin de référencer vers l'attribut directement.

    Bref, le code qui fonctionne est le suivant, si jamais un blaireau a le même souci un jour...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    <c:import url="HelpPages.xml" varReader="myFileReader">
    	<x:parse var="doc" doc="${myFileReader}" />
     
    	<x:forEach var="help_page" select="$doc/help/help_page">
    	    <x:if select="@context='test1'">
    	        Link for <x:out select="@context"/> is <x:out select="@link"/>
    	    </x:if>
    	</x:forEach>
    </c:import>

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

Discussions similaires

  1. [SimpleXML] Récupérer l'attribut d'un élément xml
    Par yann123456 dans le forum Bibliothèques et frameworks
    Réponses: 2
    Dernier message: 01/12/2008, 19h00
  2. [Linq to Xml] Récupérer la valeur d'un attribut
    Par teddyalbina dans le forum Linq
    Réponses: 7
    Dernier message: 19/10/2008, 18h26
  3. [DOM] récupérer un attribut d'un xml avec DOM
    Par fonkyom dans le forum Format d'échange (XML, JSON...)
    Réponses: 3
    Dernier message: 11/03/2008, 15h35
  4. [XML] Récupérer la valeur des attributs
    Par Elyon64 dans le forum XML/XSL et SOAP
    Réponses: 2
    Dernier message: 10/03/2008, 19h07
  5. [DOM] Récupérer les attributs d'un fichier XML en PHP
    Par ePsymon dans le forum Bibliothèques et frameworks
    Réponses: 2
    Dernier message: 08/02/2008, 11h51

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