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
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>
<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 );
}
}
$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