Aller au contenu

Problème parsing xml


Occi

Sujets conseillés

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:

Mon code xml

<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

$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

Modifié par Occi
Lien vers le commentaire
Partager sur d’autres sites

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 :)

Personne svp ?

Modifié par Occi
Lien vers le commentaire
Partager sur d’autres sites

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.

Lien vers le commentaire
Partager sur d’autres sites

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.

Modifié par Occi
Lien vers le commentaire
Partager sur d’autres sites

Veuillez vous connecter pour commenter

Vous pourrez laisser un commentaire après vous êtes connecté.



Connectez-vous maintenant
×
×
  • Créer...