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 :

un simple parsage


Sujet :

XML/XSL et SOAP

  1. #1
    Débutant   Avatar de kaking
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    753
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mars 2008
    Messages : 753
    Points : 262
    Points
    262
    Par défaut un simple parsage
    yub yub les gens, je récupère un XML ayant cette forme :

    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
    <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
       <soap:Body>
          <ChargerAgentResponse xmlns="http://tempuri.org/">
             <ChargerAgentResult>
                <xml xmlns:s="uuid:BDC6E3F0-6DA3-11d1-A2A3-00AA00C14882" xmlns:dt="uuid:C2F41010-65B3-11d1-A29F-00AA00C14882" xmlns:rs="urn:schemas-microsoft-com:rowset" xmlns:z="#RowsetSchema" xmlns="">
                   <s:Schema id="RowsetSchema">
                        <s:AttributeType name="NUMERO_POSTE_TEL" rs:number="8" rs:writeunknown="true">
                            <s:datatype dt:type="string" dt:maxlength="-1" rs:maybenull="True"/>
                         </s:AttributeType>
                   </s:Schema>
                   <rs:data>
                      <z:row ID_AGENT="60387" ID_UO="128" />
                   </rs:data>
                </xml>
             </ChargerAgentResult>
          </ChargerAgentResponse>
       </soap:Body>
    </soap:Envelope>
    et moi je voudrai récupérer les deux attributs : ID_AGENT et ID_UO

    alors j'ai fais ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    <?php
    $doc = new DOMDocument();
    $doc->loadXML($xml);
    $xpath = new DOMXPath($doc);
    foreach ($xpath->query('//rs:data') as $node) {
      foreach ($node->childNodes as $child_node) {
        if (!$child_node instanceof DOMText)
          echo $child_node->nodeName;
      }
    }
    mais ça n'affiche que
    z:row
    ... je n'obtiens pas l'attribut... une idée siouplais ?

    merci d'avance
    fan de Dune et de Monkey Island ? venez voir mon jeu point and click du style du jeu DUNE sorti en 1992 ! DUNE - Moneo au service de l'Empereur-dieu

  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
    Comme ça: voyez-vous, faites attention au traitement propre des préfixes et de l'espace de nom et l'usage plus efficace de xpath.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    $xpath = new DOMXPath($doc);
    $xpath->registerNamespace("rs", "urn:schemas-microsoft-com:rowset");
    $xpath->registerNamespace("z", "#RowsetSchema");
     
    foreach ($xpath->query('//rs:data/z:row/@*') as $node) {
        echo $node->nodeName,'=',$node->nodeValue,"\n";
    }

  3. #3
    Débutant   Avatar de kaking
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    753
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mars 2008
    Messages : 753
    Points : 262
    Points
    262
    Par défaut


    merci !!!

    je suis bloqué depuis ce matin la dessus !!!

    encore merci !
    fan de Dune et de Monkey Island ? venez voir mon jeu point and click du style du jeu DUNE sorti en 1992 ! DUNE - Moneo au service de l'Empereur-dieu

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

Discussions similaires

  1. [simple] Récupérer sélection d'un TComboBox
    Par Claythest dans le forum Composants VCL
    Réponses: 5
    Dernier message: 10/06/2003, 17h30
  2. Effet de transition simple entre 2 images
    Par ChrisFAPS dans le forum Flash
    Réponses: 2
    Dernier message: 18/04/2003, 12h41
  3. Bon je vais essayer d'être simple :
    Par fpouget dans le forum Langage SQL
    Réponses: 8
    Dernier message: 09/04/2003, 17h46
  4. Edition d'un simple fichier java
    Par mcrepin dans le forum Eclipse Java
    Réponses: 5
    Dernier message: 21/03/2003, 14h28
  5. recherche exemple simple pour corba en c++
    Par Pinggui dans le forum CORBA
    Réponses: 4
    Dernier message: 06/05/2002, 11h29

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