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 :

Récupérer du contenu entre deux balises non encapsulantes


Sujet :

XSL/XSLT/XPATH XML

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Débutant en XSLT
    Inscrit en
    Avril 2011
    Messages
    54
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Débutant en XSLT

    Informations forums :
    Inscription : Avril 2011
    Messages : 54
    Points : 32
    Points
    32
    Par défaut Récupérer du contenu entre deux balises non encapsulantes
    Bonjour tout le monde,

    J'ai une question assez simple. J'ai un XML du type :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
     
    <balisedebut id="1" name="A"/>
       <element1>Contenu1</element1>
       <element2>Contenu2</element2>
       <element3>Contenu3</element3>
       <element4>Contenu4</element4>
    <balisefin id="1"/>
     
    <balisedebut id="2" name="B"/>
       <element1>Contenu1</element1>
       <element2>Contenu2</element2>
       <element3>Contenu3</element3>
       <element4>Contenu4</element4>
    <balisefin id="2"/>
     
    <balisedebut id="3" name="C"/>
       <element1>Contenu1</element1>
       <element2>Contenu2</element2>
       <element3>Contenu3</element3>
       <element4>Contenu4</element4>
    <balisefin id="3"/>

    Comment puis-je faire pour récupérer les éléments de 1 à 4 qui sont contenus entre les deux balises dont la balisedebut possède l'attribut name="B" ?

    Je suis un peu perturbé du fait que les balises ne soient pas conteneur... est-ce possible avec xsl ?


    Merci beaucoup et Bonne journée.

  2. #2
    Modérateur

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

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 563
    Points : 21 627
    Points
    21 627
    Par défaut
    C'est un peu compliqué mais ça se fait :

    Les <element1> dont la balise <balisedebut> a le name B :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    element1[preceding-sibling::balisedebut[1][@name='B']]
    Les éléments qui sont après <balisedebut> de name B et pas une autre, et qui ne sont pas une <balisefin>:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    *[not(self::balisefin) and not(self::balisedebut) and preceding-sibling::balisedebut[1][@name='B']]

  3. #3
    Nouveau membre du Club
    Homme Profil pro
    Débutant en XSLT
    Inscrit en
    Avril 2011
    Messages
    54
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Débutant en XSLT

    Informations forums :
    Inscription : Avril 2011
    Messages : 54
    Points : 32
    Points
    32
    Par défaut
    Merci beaucoup pour ta réponse thelvin ! Ca m'aide énormement.

    Bonne journée.

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

Discussions similaires

  1. Récupérer le contenu entre deux balises même les tags html
    Par asbb.asbb dans le forum Format d'échange (XML, JSON...)
    Réponses: 0
    Dernier message: 26/02/2015, 15h23
  2. Réponses: 6
    Dernier message: 17/02/2010, 19h48
  3. Récupérer un texte entre deux balises prédéfinies
    Par Zaki_SDwin dans le forum Contribuez
    Réponses: 6
    Dernier message: 28/05/2008, 20h50
  4. [SAX] Comment récupérer un String entre deux balise xml?
    Par L4BiN dans le forum Format d'échange (XML, JSON...)
    Réponses: 6
    Dernier message: 23/06/2006, 09h02
  5. [Balise XML] Comment récupérer le contenu entre 2 balise?
    Par ZoumZoumMan dans le forum C++Builder
    Réponses: 5
    Dernier message: 05/03/2004, 16h36

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