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écuperer valeur noeud xml par rapport à l'attribut


Sujet :

XML/XSL et SOAP

  1. #1
    Membre confirmé
    Homme Profil pro
    Développeur Web
    Inscrit en
    Avril 2012
    Messages
    142
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Avril 2012
    Messages : 142
    Par défaut Récuperer valeur noeud xml par rapport à l'attribut
    Bonjour à tous !

    Voila mon petit soucis: j'ai un xml qui ressemble a ceci:

    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
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    <INFO ID="WEATHER">
    <NAME>Bulletin météo</NAME>
    <ATTRIBUTE ID="WTDailyWeatherToday">
    <NAME>Le temps actuel</NAME>
    <VALUE>
    <![CDATA[ peu nuageux ]]>
    </VALUE>
    <CODE>
    <![CDATA[ 3 ]]>
    </CODE>
    </ATTRIBUTE>
    <ATTRIBUTE ID="WTDailyWeatherTomorrow">...</ATTRIBUTE>
    <ATTRIBUTE ID="WTDailyWeatherIn2Days">...</ATTRIBUTE>
    <ATTRIBUTE ID="WTDailyWeatherIn3Days">...</ATTRIBUTE>
    <ATTRIBUTE ID="WTDailyWeatherUrl">...</ATTRIBUTE>
    <ATTRIBUTE ID="WTDailyNewFallenSnowHeightResort">
    <NAME>Neige fraîche à la station en cm</NAME>
    <VALUE>
    <![CDATA[ 0 ]]>
    </VALUE>
    <UNIT_OF_MEASUREMENT>cm</UNIT_OF_MEASUREMENT>
    </ATTRIBUTE>
    <ATTRIBUTE ID="WTDailyNewFallenSnowHeightArenaHigh">
    <NAME>Neige fraîche dans le domaine en haut</NAME>
    <VALUE>
    <![CDATA[ 0 ]]>
    </VALUE>
    <UNIT_OF_MEASUREMENT>cm</UNIT_OF_MEASUREMENT>
    </ATTRIBUTE>
    <ATTRIBUTE ID="WTDailyNewFallenSnowHeightArenaLow">
    <NAME>Neige fraîche dans le domaine en bas</NAME>
    <VALUE/>
    <UNIT_OF_MEASUREMENT>cm</UNIT_OF_MEASUREMENT>
    </ATTRIBUTE>
    <ATTRIBUTE ID="WTDailyTemperature">
    <NAME>Température prévue vers 12h.00</NAME>
    <VALUE>
    <![CDATA[ 6 ]]>
    </VALUE>
    <UNIT_OF_MEASUREMENT>°C</UNIT_OF_MEASUREMENT>
    </ATTRIBUTE>
    </INFO>
    Je voudrais récupérer tout les noeuds de <INFO ID="WEATHER"> (donc le temps actuel, la neige fraiche en haut et en bas, la température,..) mais je ne veux pas
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    <ATTRIBUTE ID="WTDailyWeatherTomorrow">...</ATTRIBUTE>
    <ATTRIBUTE ID="WTDailyWeatherIn2Days">...</ATTRIBUTE>
    <ATTRIBUTE ID="WTDailyWeatherIn3Days">...</ATTRIBUTE>
    <ATTRIBUTE ID="WTDailyWeatherUrl">...</ATTRIBUTE>
    Comment faire ?

  2. #2
    Membre confirmé
    Homme Profil pro
    Développeur Web
    Inscrit en
    Avril 2012
    Messages
    142
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Avril 2012
    Messages : 142
    Par défaut
    Si ça peut aider voila la structure simplifiée:

    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
    <OUTPUT ID="STATION" VERSION="1.0">
    <NAME>Snow Report for Resort</NAME>
    <LANGUAGE>fr</LANGUAGE>
    <STATION ID="132">
    <NAME>Verbier</NAME>
    <ATTRIBUTE ID="LastUpdate">...</ATTRIBUTE>
    <INFO ID="GENERAL">...</INFO>
    <INFO ID="LINKS">...</INFO>
    <INFO ID="WEATHER">...</INFO>
    <INFO ID="SKI">...</INFO>
    <INFO ID="SNOWBOARD">...</INFO>
    <INFO ID="CROSS_COUNTRY">...</INFO>
    <INFO ID="HIKING">...</INFO>
    <WEBCAMS/>
    </STATION>
    </OUTPUT>
    Je veux récupérer tout ce qui se trouve dans le noeud Info ou l'id est WEATHER

  3. #3
    Modérateur

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

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 585
    Par défaut
    Hello,

    Euh, ok, mais tu veux faire ça en utilisant quelle technologie ? XSLT, un langage de programmation, un programme tout fait ?

    Ou pour le dire autrement, tu vas en faire quoi des valeurs extraites ? Elles vont aller où ? C'est important, et, personne va le deviner tu sais .
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  4. #4
    Membre confirmé
    Homme Profil pro
    Développeur Web
    Inscrit en
    Avril 2012
    Messages
    142
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Avril 2012
    Messages : 142
    Par défaut
    Ah oui désolé j'ai oublié de le spécifier !

    Donc je veux les extraires en php, mettre chaque noeud dans une variable pour pouvoir l'utiliser ensuite

  5. #5
    Membre confirmé
    Homme Profil pro
    Développeur Web
    Inscrit en
    Avril 2012
    Messages
    142
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Avril 2012
    Messages : 142
    Par défaut
    J'ai pu résoudre mon problème.

    Pour ceux ayant un problème similaire, j'ai utilisé xpath

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    $xml1->xpath("//STATION[@ID=132]/NAME");
    $xml1->xpath("//INFO[@ID='WEATHER']/ATTRIBUTE[@ID='WTDailyWeatherToday']/VALUE");
    $xml1->xpath("//INFO[@ID='WEATHER']/ATTRIBUTE[@ID='WTDailyNewFallenSnowHeightResort']/VALUE");
    Voila !!

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

Discussions similaires

  1. [XML] Trouver un noeud XML par la valeur d'un attribut
    Par Sof34 dans le forum Bibliothèques et frameworks
    Réponses: 2
    Dernier message: 14/07/2013, 13h12
  2. Réponses: 11
    Dernier message: 12/04/2007, 12h28
  3. validation d'un document XML par rapport à une DTD
    Par sebastien2222 dans le forum Valider
    Réponses: 1
    Dernier message: 03/03/2006, 15h41
  4. [XSD][Java]Valider un XML par rapport a un XSD
    Par sikapoch dans le forum Valider
    Réponses: 11
    Dernier message: 08/11/2005, 15h21

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