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] Problème de sélection


Sujet :

XSL/XSLT/XPATH XML

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 9
    Points : 9
    Points
    9
    Par défaut [XPath] Problème de sélection
    Bonjour à tous,
    Alors voilà j'obtiens ( grâce à vous d'ailleurs encore merci pour ma précédente question) le fichier xml suivant:
    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
     
    <pays>
             <ville id="1" nom="Orly" ...>
                   <aeroport id=1 abreviation="ORY" ouvert="O" ... />
                          <avionTourisme id=145 type="..." .... />
                          <avionFret id=141 type="..." .... />
                          <avionTourisme id=156 ... />
                   </aeroport>
             </ville>
             <ville id="2" nom="Bretigny sur Orge" ...>
                   <aeroport id=3 ouvert="O" ... />
                          <avionMilitaire id=34 type="..." .... />
                          <avionMilitaire id=35 ... />
                          <avionFret id=14 type="..." .... />
                   </aeroport>
             </ville>
    </pays>
    A l'aide d'un requete xPath conserver le même modèle de fichier mais en le filtrant sur certain critère.
    Par exemple je voudrais mon fichier xml avec que les aeroports possédant des éléments "avionMilitaire". Mais j'aimerai garder les autre avions attachés à cet aeroport.

    J'aimerai utiliser une requète xPath car le filtre doit être dynamique, et en sortie obtenir le résultat suivant:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    <pays>
             <ville id="2" nom="Bretigny sur Orge" ...>
                   <aeroport id=3  ouvert="O" ... />
                          <avionMilitaire id=34 type="..." .... />
                          <avionMilitaire id=35 ... />
                          <avionFret id=14 type="..." .... />
                   </aeroport>
             </ville>
    </pays>
    Est-il possible d'arriver à un tel résultat? Là je patauge un peu avec le xPath.

  2. #2
    Membre éclairé
    Inscrit en
    Octobre 2005
    Messages
    847
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 847
    Points : 841
    Points
    841
    Par défaut
    slt,

    tu peux être plus precis stp?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     Mais j'aimerai garder les autre avions attachés à cet aeroport.
    tu voulais dire quoi exactement par ceci?.
    Ce n’est pas en cassant le thermomètre que vous ferez baisser la température

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 9
    Points : 9
    Points
    9
    Par défaut
    En fait je voudrais a partir des données n°1 obtenir les données n°2 à l'aide d'une requete xPath.

    Dans mon petit exemple cela se traduirai par je voudrais retourner tous les éléments possédant "avionMilitaire" avec les éléments parents, mais aussi les éléments de même niveau que "avionMilitaire".

  4. #4
    Membre éclairé
    Inscrit en
    Octobre 2005
    Messages
    847
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 847
    Points : 841
    Points
    841
    Par défaut
    j'ai pa pu testé mais essaye un truc dans le genre

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    <?xml version="1.0"?>
    <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
    <xsl:output method="html"/>
    <xsl:template match="ville">
    <xsl:if test="aeroport/avionMilitaire">
      <xsl:copy>
        <xsl:apply-templates select="@*|*|text()"/>
      </xsl:copy>  
    </xsl:if>
     
    </xsl:template> 
     
    </xsl:stylesheet>
    Ce n’est pas en cassant le thermomètre que vous ferez baisser la température

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

Discussions similaires

  1. [XPath] Problème de sélection de valeur XML
    Par pitipilot dans le forum C#
    Réponses: 0
    Dernier message: 10/10/2014, 16h18
  2. [XPath] Problème de sélection de noeuds
    Par Heriquet dans le forum XSL/XSLT/XPATH
    Réponses: 5
    Dernier message: 18/02/2006, 10h22
  3. Problème de sélection sous IE
    Par titisite dans le forum Balisage (X)HTML et validation W3C
    Réponses: 4
    Dernier message: 27/12/2004, 14h05
  4. [CR] Problème de sélection sur un champ date
    Par noluc dans le forum SAP Crystal Reports
    Réponses: 2
    Dernier message: 21/11/2003, 16h56
  5. recherche Xpath: problème de casse (majuscule/minuscule)
    Par alexandre54 dans le forum XSL/XSLT/XPATH
    Réponses: 9
    Dernier message: 29/07/2003, 10h42

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