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 données par rapport à un ID


Sujet :

XML/XSL et SOAP

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2006
    Messages
    61
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Tourisme - Loisirs

    Informations forums :
    Inscription : Août 2006
    Messages : 61
    Points : 26
    Points
    26
    Par défaut Récupérer données par rapport à un ID
    Bonjour,

    Voila j'ai un fichire XML qui contient un catalogue de produit, du type :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    <produit>
    <nom_produit>ITEM1</nom_produit>
    <id_produit>1</id_produit>
    {TOUTE LES CARACTÉRISTIQUE DU PRODUIT}
    </produit>
    etc ...
    pouvez vous me dire s'il vous plais comment récupérer les données d'un produit par rapport à son "<id_produit>" comme en SQL.

    La si je définis : 1 je veux que sa aille me chercher toute les données du produit qui à l'id 1 et que sa me le liste.

    Ma version PHP est 5.2.3

    je vous remercie,
    Au revoir

  2. #2
    Membre expérimenté
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    1 466
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 1 466
    Points : 1 610
    Points
    1 610
    Par défaut
    En xpath c'est
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    //produit[id_produit='1']
    . Après en php .... :p.

  3. #3
    Nouveau membre du Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2006
    Messages
    61
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Tourisme - Loisirs

    Informations forums :
    Inscription : Août 2006
    Messages : 61
    Points : 26
    Points
    26
    Par défaut
    Actuellement j'ai ce code :

    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
     
    $doc = new DOMDocument;
     
     
    $doc->preserveWhiteSpace = false;
     
    $doc->load('catalogue.xml');
     
    $xpath = new DOMXPath($doc);
     
     
    $query = '//catalogue/produit[id_produit = "1"]';
     
    $entries = $xpath->query($query);
     
    foreach ($entries as $entry) 
    {
        echo "produit trouvé : {$entry->previousSibling->previousSibling->nodeValue}";
    }
    Qui me donne :

    produit trouvé :
    Merci

  4. #4
    Membre expérimenté
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    1 466
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 1 466
    Points : 1 610
    Points
    1 610
    Par défaut
    Tu peux essayer :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $query = '//catalogue/produit[id_produit/.="1"]';
    ou
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $query = '//catalogue/produit[id_produit/text()="1"]';
    .
    Et si ça marche toujours pas d'inverser " et '.

  5. #5
    Nouveau membre du Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2006
    Messages
    61
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Tourisme - Loisirs

    Informations forums :
    Inscription : Août 2006
    Messages : 61
    Points : 26
    Points
    26
    Par défaut
    Non fonctionne toujours pas... même en inversant " et '

    Quelqu'un à t-il une solution ? :'(

  6. #6
    Membre expérimenté
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    1 466
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 1 466
    Points : 1 610
    Points
    1 610
    Par défaut
    Hum, et en remplacant //catalogue/produit par //produit?
    Sinon, il y a pas de namespace définie dans le xml original?
    En tout cas j'ai vérifié en xslt ça marche avec ce xml en source :
    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
    <?xml version="1.0"?>
    <catalogue>
    <produit>
    <nom_produit>ITEM1</nom_produit>
    <id_produit>1</id_produit>
    {TOUTE LES CARACTÉRISTIQUE DU PRODUIT}
    </produit>
    <produit>
    <nom_produit>ITEM1</nom_produit>
    <id_produit>1</id_produit>
    {TOUTE LES CARACTÉRISTIQUE DU PRODUIT}
    </produit>
    <produit>
    <nom_produit>ITEM1</nom_produit>
    <id_produit>1</id_produit>
    {TOUTE LES CARACTÉRISTIQUE DU PRODUIT}
    </produit>
    <produit>
    <nom_produit>ITEM1</nom_produit>
    <id_produit>1</id_produit>
    {TOUTE LES CARACTÉRISTIQUE DU PRODUIT}
    </produit>
    <produit>
    <nom_produit>ITEM1</nom_produit>
    <id_produit>1</id_produit>
    {TOUTE LES CARACTÉRISTIQUE DU PRODUIT}
    </produit>
    <produit>
    <nom_produit>ITEM1</nom_produit>
    <id_produit>1</id_produit>
    {TOUTE LES CARACTÉRISTIQUE DU PRODUIT}
    </produit>
    </catalogue>
    et en xslt :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    <?xml version="1.0"?>
    <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
    	<xsl:template match="/">
    	<root>
    		<xsl:for-each select = "//produit[id_produit='1']">
    			<xsl:copy-of select="."/>
    		</xsl:for-each>
    	</root>
    	</xsl:template>
    </xsl:stylesheet>

  7. #7
    Nouveau membre du Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2006
    Messages
    61
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Tourisme - Loisirs

    Informations forums :
    Inscription : Août 2006
    Messages : 61
    Points : 26
    Points
    26
    Par défaut
    Vous m'en voudrez si vous je dis que j'ai pas tout compris là ? ^^

    Je suis pas un pro du XML... je me suis mis y a pas longtemps alors tous ce qui est xlts etc ... c'est un peu du charabia là lol

    sinon en remplacant //catalogue/produit par //produit sa ne fonctionne pas..

  8. #8
    Nouveau membre du Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2006
    Messages
    61
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Tourisme - Loisirs

    Informations forums :
    Inscription : Août 2006
    Messages : 61
    Points : 26
    Points
    26
    Par défaut
    Personne n'a de solution ??? :'(

Discussions similaires

  1. Réponses: 2
    Dernier message: 22/12/2008, 15h29
  2. envoyer des données par rapport à une checkbox
    Par dudu134 dans le forum Langage
    Réponses: 2
    Dernier message: 18/05/2007, 17h57
  3. [VBA-E] Renvoie de donnée par rapport à un intitulé
    Par GardienDuCode dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 05/03/2007, 17h41
  4. Centrer des données par rapport à un texte "parent"
    Par firejocker dans le forum Mise en page CSS
    Réponses: 6
    Dernier message: 08/01/2007, 15h44
  5. Regrouper les données par rapport à la date
    Par goldeagle dans le forum Access
    Réponses: 7
    Dernier message: 11/12/2006, 15h35

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