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

XML/XSL et SOAP Discussion :

Récupérer le contenu en dehors de balises en xquery


Sujet :

XML/XSL et SOAP

  1. #1
    Nouveau membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Janvier 2017
    Messages
    31
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Loir et Cher (Centre)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2017
    Messages : 31
    Points : 25
    Points
    25
    Par défaut Récupérer le contenu en dehors de balises en xquery
    Bonjour à tous,

    Je fais appel à vos conseils car je suis bloquée.
    Voilà, j'ai un fichier 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
    let $fichier := 
            <balise>
                xxxxxxxxxxxxxxxxxxx
                     <span class="info">
                            aaaaaaaaaaaa
                      </span>
     
                -- Texte recherché 1    --       
     
                     <span class="info">
                          bbbbbbbbbbbbbb
                      </span>
     
               -- Texte recherché 2 --
     
                      <span class="info">
                         ccccccccccccccccc
                      </span>
                yyyyyyyyyyyyyyyyyyyyy
     
           </balise>
    Et le problème sur lequel je m'arrache les cheveux : je voudrais récupérer en xquery le texte compris entre toutes les balises <span> sous la forme d'une liste ("Texte recherché 1"," texte recherché 2") sachant qu'il y a toujours au minimum 2 balises span.
    J'ai essayé avec following-sibling[1] et ça marche dans le cas ci-dessus, mais si le texte 2 n'existe pas (c'est-à-dire s'il y a 2 balises span juxtaposées) alors ça décale tout et je récupère le contenu textuel situé après la dernière balise span...

    Si vous pouvez m'aider, un grand merci !!

  2. #2
    Membre émérite Avatar de tsuji
    Inscrit en
    Octobre 2011
    Messages
    1 558
    Détails du profil
    Informations forums :
    Inscription : Octobre 2011
    Messages : 1 558
    Points : 2 736
    Points
    2 736
    Par défaut
    Si vous voulez s'exercer sur les axes relatant des siblings des noeuds text(), on peut faire comme ça.
    Code xquery : 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
    22
    23
    24
    25
    26
    <root>{
    let $fichier := 
        <balise>
            xxxxxxxxxxxxxxxxxxx
            <span class="info">
                aaaaaaaaaaaa
            </span>
     
            -- Texte recherché 1    --
     
            <span class="info">
                bbbbbbbbbbbbbb
            </span>
     
            -- Texte recherché 2 --
     
            <span class="info">
                ccccccccccccccccc
            </span>
            yyyyyyyyyyyyyyyyyyyyy
        </balise>
     
    for $text in $fichier/text()[preceding-sibling::span and following-sibling::span]
    return
        <text>{$text}</text>
    }</root>

  3. #3
    Nouveau membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Janvier 2017
    Messages
    31
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Loir et Cher (Centre)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2017
    Messages : 31
    Points : 25
    Points
    25
    Par défaut
    Merci Tsuji, c'est exactement ce qu'il me fallait !!

  4. #4
    Nouveau membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Janvier 2017
    Messages
    31
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Loir et Cher (Centre)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2017
    Messages : 31
    Points : 25
    Points
    25
    Par défaut
    Bonjour à tous,

    je m'aperçois qu'il me faut en plus de ce qui est entre balises le contenu des balises span et ce qui figure entre elles. Dans l'exemple que j'avais donné, cela veut dire : aaaaa texte 1 bbbbbb texte 2 cccccc.

    Je n'arrive qu'à tout avoir dans le désordre .
    Merci d'avance pour vos conseils

  5. #5
    Membre émérite Avatar de tsuji
    Inscrit en
    Octobre 2011
    Messages
    1 558
    Détails du profil
    Informations forums :
    Inscription : Octobre 2011
    Messages : 1 558
    Points : 2 736
    Points
    2 736
    Par défaut
    Il y a un ordre naturel dit documentaire et je suppose c'est cet ordre qui est souhaité d'avoir. On peut faire comme ça.
    Code xquery : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    for $text in $fichier//text()
    return
        if ($text/preceding-sibling::span and $text/following-sibling::span) then
            <text>{$text}</text>
        else (
            if ($text/parent::span) then
                <text2>{$text}</text2>
            else (
            )
        )

  6. #6
    Nouveau membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Janvier 2017
    Messages
    31
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Loir et Cher (Centre)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2017
    Messages : 31
    Points : 25
    Points
    25
    Par défaut
    Bonjour Tsuji, c'est parfait.
    Merci pour tout !

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

Discussions similaires

  1. récupérer le contenu d'un div , balises y compris
    Par patrickbaras dans le forum jQuery
    Réponses: 9
    Dernier message: 28/07/2012, 10h15
  2. [Tableaux] Récupérer le contenu d'une balise HTML
    Par StarNab dans le forum Langage
    Réponses: 2
    Dernier message: 01/09/2006, 12h38
  3. [DOM] Récupérer le contenu d'une balise donnée
    Par mimi31110 dans le forum Format d'échange (XML, JSON...)
    Réponses: 4
    Dernier message: 26/06/2006, 23h46
  4. Récupérer le contenu de la balise title
    Par roots dans le forum Langage
    Réponses: 2
    Dernier message: 11/09/2005, 16h17
  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