Version complète: sur le forum Webmaster Hub : Problème parsing xml
Webmaster Hub > Création et exploitation de Sites Internet > Les langages du Net > XML et ses dialectes
Occi
Bonjour,

j'ai un problème pour récupérer un noeud qui est déjà dans un noeud, peut être que je suis mal partie dans mon code PHP wacko.gif

Mon code xml
CODE
<produit>

  <produit_id>107090</produit_id>
  <produit_type>Cigario</produit_type>
  <pays>Cuba</pays>

- <constructeur>
  <constructeur_nom>Manuel</constructeur_nom>
  <constructeur_image>http://img.site.com/21.gif</constructeur_image>
  <url>http://site.com?id=ba&d=2</url>
  <constructeur_nom>Sanchoz</constructeur_nom>
  <constructeur_image>http://img.site.com/88.gif</constructeur_image>
  <url>http://site.com?id=san&d=78</url>
  </constructeur>

  </produit>


Mon code PHP
CODE
$site = "xml.php";
$fp = _AT_fopen($site,"r");
while(!feof($fp)) $raw .= _AT_fgets($fp, 4096);
fclose($fp);

if( eregi("<produit>(.*)</produit>", $raw, $rawitems ) ) {

$items = explode("<produit>", $rawitems[0]);



for( $i = 0; $i < 10; $i++ ) {
    eregi("<produit_id>(.*)</produit_id>",$items[$i+1], $produit_id );

    eregi("<constructeur_nom>(.*)</constructeur_nom>",$items[$i+1], $constructeur_nom );
        
}
}


Ca récupère bien "produit_id" mais j'ai un bug sur "constructeur_nom", une idée svp ?

Merci
ebola
Je pense pas que sa ai un rapport mais tu a inventé des balises.
Ce serait peut être mieu d'utiliser des balise div avec attributs.
Occi
La balise DIV c'est du HTML, là c'est du XML et ce langage permet justement de nommer à volonté les balises pour les exploiter par la suite smile.gif

Personne svp ?
KaRaK
Bonsoir,

Je n'ai pas précisément la réponse à ta question mais si tu as la possibilité d'utiliser PHP5 et notamment simplexml je te le recommande.

C'est simple et rapide pour traiter du xml.
Occi
Bonjour,

hélas je suis encore sous php 4, sinon j'ai vue comment ça marchait c'est clair que ça a l'air pas mal du tout.
Ceci est une version "bas débit" de notre forum. Pour voir la version complète avec plus d'information, la mise en page et les images, veuillez cliquer ici.