Bonjour à tous et à toutes
Voila j'ai un petit soucis
J'ai un document xml contenant des produits, et j'aimerai le parcourir, et récupérer éléments.
Voici une partie du document XML :
Code :
Pour parcourir ce document xml, j'utilise donc un parseur DOM. Les éléments que je doit extraire sont :
- Les attributs du produit
- Le nom du produit
- Le prix du produit (aprés je pourrai varier)
Voici mon document php pour l'instant
Code :
Pour l'instant y'a pas de problème, mais maintenant, je n'arrive pas, enfin j'ai pas réussi, à décendre dans l'arbre et à afficher le nom de l'élément.
J'ai essayé avec un getElementsByTagName('nom'), mais j'ai du mal m'y prendre
Si vous avez des idées, merci de m'en faire part
Voila j'ai un petit soucis
J'ai un document xml contenant des produits, et j'aimerai le parcourir, et récupérer éléments.
Voici une partie du document XML :
Code :
<produits>
<produit ref="p1" categorie="Boissons">
<nom>Chai</nom>
<qte>10 boîtes x 20 sacs</qte>
<prix>9</prix>
<stock>39</stock>
<reappro>10</reappro>
</produit>
...
Pour parcourir ce document xml, j'utilise donc un parseur DOM. Les éléments que je doit extraire sont :
- Les attributs du produit
- Le nom du produit
- Le prix du produit (aprés je pourrai varier)
Voici mon document php pour l'instant
Code :
$doc_xml = new DOMDocument('1.0', 'UTF-8');
$doc_xml->load('produits.xml'); // charge le fichier
$racine = $doc_xml->documentElement;
$produit = $racine->getElementsByTagName('produit'); // Pour tous les élements produit, on affiche les attributs
foreach($produit as $noeud)
{
$ref = $noeud->getAttributeNode('ref');
$cat = $noeud->getAttributeNode('categorie');
afficherInfos($ref, $cat);
}
function afficherInfos($r, $c)
{
$ref = $r->nodeValue;
$cat = $c->nodeValue;
echo '<tr>';
echo '<td>' . $ref . '</td><td>' . $cat . '</td>';
echo '</tr>';
}
Pour l'instant y'a pas de problème, mais maintenant, je n'arrive pas, enfin j'ai pas réussi, à décendre dans l'arbre et à afficher le nom de l'élément.
J'ai essayé avec un getElementsByTagName('nom'), mais j'ai du mal m'y prendre
Si vous avez des idées, merci de m'en faire part