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

Bibliothèques et frameworks PHP Discussion :

[SimpleXML] Lecture du contenu d'une balise présente 2 fois


Sujet :

Bibliothèques et frameworks PHP

  1. #1
    Futur Membre du Club
    Inscrit en
    Septembre 2008
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Septembre 2008
    Messages : 5
    Points : 5
    Points
    5
    Par défaut [SimpleXML] Lecture du contenu d'une balise présente 2 fois
    Bonjour,
    J'utilise simplexml en php5 pour effectuer la lecture du fichier xml ci-dessous :
    <?xml version="1.0" encoding="utf-8"?>
    <products>
    <product >
    <info>
    <name>URBAN JUNGLE TOTE</name>
    <description state="short">Shopping </description>
    <typetext number="1">rose</typetext >
    <typetext number="2">femme</typetext >
    </info>
    <category>
    sac
    </category>
    <etat>1</etat>
    </product >

    <product>
    <info><name>URBAN JUNGLE TOTE</name>
    ......
    .....
    J'arrive à lire tout sauf ce qui est inclu entre les balises typetext, soit : "rose" et "femme".

    Voici mon code :
    $xml = simplexml_load_file($fluxxml);

    foreach ($xml->product as $cp)
    {

    $nom=addslashes(urlencode(utf8_decode($cp->info->name)));
    $modele=addslashes(urlencode(utf8_decode($cp->info->description)));
    $couleur=$cp->$info->typetext[0];
    $genre=$cp->$info->typetext[1];
    echo " couleur=". $couleur."";
    echo " genre=". $genre."";
    }
    Merci.

  2. #2
    Expert éminent sénior

    Profil pro
    Inscrit en
    Juin 2002
    Messages
    6 152
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 6 152
    Points : 17 777
    Points
    17 777
    Par défaut
    Ce serait plutôt :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $couleur = $cp->info->typetext[0];
    D'après la structure de votre document, et vos dires accessoirement (idem pour l'autre).

    A noter qu'il faut également retirer le dollar devant info.

  3. #3
    Futur Membre du Club
    Inscrit en
    Septembre 2008
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Septembre 2008
    Messages : 5
    Points : 5
    Points
    5
    Par défaut
    Merci pour votre réponse,
    J'ai testé votre code, je n'obtiens rien dans la valeur $couleur et $genre.

    En fait j'avais déjà testé ce code.

  4. #4
    Futur Membre du Club
    Inscrit en
    Septembre 2008
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Septembre 2008
    Messages : 5
    Points : 5
    Points
    5
    Par défaut
    En fait, ta réponse été bonne.

    Il y avait un $ de trop

    $couleur = $cp->$info->typetext[0];

    $couleur = $cp->info->typetext[0];

    Merci

    Pb résolu

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

Discussions similaires

  1. [SimpleXML] Récupérer contenu d'une balise XML contenant du HTML
    Par samichon dans le forum Bibliothèques et frameworks
    Réponses: 4
    Dernier message: 24/08/2007, 08h36
  2. [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
  3. [XPath] contenu d'une balise vide ?
    Par mimi31110 dans le forum XSL/XSLT/XPATH
    Réponses: 8
    Dernier message: 16/06/2006, 14h50
  4. modiffier le contenu d'une balise
    Par duplo dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 07/06/2006, 17h20
  5. [xsl] mauvaise interprétation du contenu d'une balise XML
    Par Cédric B. dans le forum XSL/XSLT/XPATH
    Réponses: 2
    Dernier message: 27/01/2006, 12h59

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