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] Problème au début de SimpleXML


Sujet :

Bibliothèques et frameworks PHP

  1. #1
    Invité
    Invité(e)
    Par défaut [SimpleXML] Problème au début de SimpleXML
    Bonjour,

    Je parse mon premier XML aujorud'hui et j'utilise simpleXML.

    pour cela, j'ai suivi le tutorial du site

    Voici la forme de mon XML.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    <TOP>
     <under>
      <general>
        <titre>test</titre>
         <libelle_general> test 1</libelle_general>
          <date-post>10/10/2007</date-post>
    je n'arrive pas a affichier la donnée dans <date-post>. Aparament, cela est du au "-" dans le tag car j'arrive a afficher tous ceux que je veux.

    d'où cela peux venir

    Merci
    Dernière modification par Invité ; 10/10/2007 à 12h47.

  2. #2
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    21
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2006
    Messages : 21
    Points : 16
    Points
    16
    Par défaut
    Je pense qu'il faut éviter les "-" et les "." dans les noms d'éléments. Essaie "date_post" pour voir.

  3. #3
    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 778
    Points
    17 778
    Par défaut
    Le tiret n'est pas de circonstance. Cependant, il semble possible de contourner cette limitation du langage via une syntaxe comme celle-ci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <?php
    $sxml = simplexml_load_file('test.xml');
    echo $sxml->under->general->{'date-post'};

  4. #4
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    21
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2006
    Messages : 21
    Points : 16
    Points
    16
    Par défaut
    Ou encore en utilisant xpath:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    <?php
      // Chargement du fichier XML
      $fichier_xml = simplexml_load_file('test.xml');
     
      echo "<h1>Affichage de date-post</h1>\n";
     
      $xpath = $fichier_xml->xpath('//general/date-post');
     
      foreach($xpath as $date) {
        echo utf8_decode($date);
      }
    ?>
    Mais j'évite quand même les tirets dans les noms d'éléments. Maintenant, rien n'interdit d'y avoir recours je pense. Julp (ou quelqu'un d'autre) donnera surement un avis plus éclairé sur la question

    Un lien qui pourrait t'être utile: http://www.w3schools.com/xml/xml_elements.asp ("Element Naming" en bas de page)

  5. #5
    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 778
    Points
    17 778
    Par défaut
    Si j'interprète convenablement la spécification XML, le tiret n'est pas interdit (en pratique déconseillé c'est autre chose). D'autre part, il s'agit ici d'une limitation, si je puis dire, du langage PHP (de son parser plus précisément) : il cherchera à utiliser le tiret comme l'opérateur de soustraction. Voilà pourquoi il faut utiliser la forme que j'ai proposé pour que votre nom de balise soit dans son ensemble considérée comme une chaîne voir une expression XPath suivant les cas (comme proposée par Dookie).

  6. #6
    Invité
    Invité(e)
    Par défaut
    oki merci.

    En fait, je suis obligé d'utiliser le - car je lis le fichier xml d'un autre site

    Citation Envoyé par julp Voir le message
    Le tiret n'est pas de circonstance. Cependant, il semble possible de contourner cette limitation du langage via une syntaxe comme celle-ci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <?php
    $sxml = simplexml_load_file('test.xml');
    echo $sxml->under->general->{'date-post'};
    merci ca marche

    Par contre ta methode

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <?php
    $sxml = simplexml_load_file('test.xml');
    echo $sxml->under->general->{'date-post'};
    [/code]

    marche pas.

    j'utilise

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    foreach($offres->offre as $offre)
    {
    	foreach($offre->general as $general)
    	{
    		echo "<h2><font color='red'>Annonce :</font></h2>";
    		echo "<b><u>Intitulé du poste :</u></b> " ,utf8_decode($general->libelle_general)."<br />";
    Dernière modification par Invité ; 10/10/2007 à 17h44.

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

Discussions similaires

  1. [SimpleXML] Problème avec simplexml
    Par hxt dans le forum Bibliothèques et frameworks
    Réponses: 4
    Dernier message: 20/07/2006, 16h17
  2. Problème de sessions avec SimpleXml
    Par laetyboop dans le forum Langage
    Réponses: 7
    Dernier message: 12/05/2006, 10h17
  3. [SimpleXML] Problème PHP5/XML pour des affichages particuliers
    Par vanilla dans le forum Bibliothèques et frameworks
    Réponses: 7
    Dernier message: 20/04/2006, 13h22
  4. [SimpleXML] Problème de chargement
    Par Righetto Dominique dans le forum Bibliothèques et frameworks
    Réponses: 5
    Dernier message: 12/03/2006, 12h59
  5. [SimpleXML] Problème sur simpleXML pour ajouter de nouveaux noeuds
    Par Shandler dans le forum Bibliothèques et frameworks
    Réponses: 1
    Dernier message: 26/02/2006, 13h55

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