Simplexml et php

franzy51 Messages postés 1 Date d'inscription   Statut Membre Dernière intervention   -  
rip_pit Messages postés 11 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,
j'ai deux questions concernant simplexml et php
voici d'abord mon code xml
<?xml version="1.0" encoding="iso-8859-1"?>
<produits>
<produit>
<idproduit>58500150</idproduit>
<codearticle></codearticle>
<codebarre>3760055184052</codebarre>
<reffournisseur></reffournisseur>
<nomfournisseur></nomfournisseur>
<nomproduit><![CDATA[xxxxx]]></nomproduit>
<etat>neuf</etat>
<categorie><![CDATA[xxx]]></categorie>
<theme>xxxx</theme>
<prix>00</prix>
<urlficheproduit><![CDATAhttp://xxxxxxxxx/sort1%3Ft%3DTRACKING_CODE' target='_blank' rel='nofollow'>http://xxxxxxxxxxxxxx.redir?id_compteur=ID_COMPTEUR&url=http://xxxxxxxxx/sort1%3Ft%3DTRACKING_CODE]></urlficheproduit>
<urlimage><![CDATAhttp://xxxxx.jpg]></urlimage>
<urlimageoriginal><![CDATA[http:xxxxjpg]]></urlimageoriginal>
<genre><![CDATA[Musical, Spectacle]]></genre>
<realisateur><![CDATA[., xxx]]></realisateur>
<acteurs></acteurs>
<interprete></interprete>
<editeur><![CDATA[xxx]]></editeur>
<descriptif><![CDATA[xxxx.]]></descriptif>
<disponibilite>xx</disponibilite>
<dateexpedition>xx</dateexpedition>
<fraisdeport>00</fraisdeport>
</produit>
</produits> 

j'ai fait un affichage avec simplexml de cette façon:
<?php
$produits = simplexml_load_file('test.xml');

foreach($produits->produit as $produit) {
echo '<table width="300">';
echo '<tr>';
echo '<td rowspan="2"><img src="'.($produit->urlimage).'"></td>';
echo '<td colspan="2">',utf8_decode($produit->nomproduit).'</td>';
echo '</tr>';
echo '<tr>';
echo '<td colspan="2">',utf8_decode($produit->descriptif).'</td>';
echo '</tr>';
echo '<tr>';
echo '<td>logo</td>';
echo '<td align="center">',utf8_decode($produit->prix).' €</td>';
echo '<td><a href="'.($produit->urlficheproduit).'" target="_blank">Achetez maintenat</a></td>';
echo '</tr>';
echo '</table>';

}
?>


Maintenant je n'aimerai afficher que les résultats par <genre>Musical, Spectacle</genre> et pas les autres comment faire?

Mon autre question dans le fichier xml il faut remplacer ID_COMPTEUR et TRACKING_CODE par mes propres numéro, dois-je le faire à la main(fichier de 30 Mo) ou existe t'il une autre façon?
A voir également:

1 réponse

rip_pit Messages postés 11 Date d'inscription   Statut Membre Dernière intervention   1
 
un peu en retard certes, je viens de commencer simplexml et voici ce que j'ai trouvé qui pourra peut etre t'aider

Par contre, ce code ajoute un attribut ID inexistant à chaque element de niveau2. (créer différent de modifier comme tu le demande)
$xmlstr = simplexml_load_file($filename); 

foreach($xmlstr->Niveau1->children() as $x) {//liste les enfants du niveau1
	$a=0;//a chaque enfant trouvé resette le compteur
	
	//passe tous les tags NomduTag de chaque enfant trouvé, 
	foreach($x->NomduTag as $name => $node){
		$a++;
		$node->addAttribute('id', $a);//ajoute un attribut ID avec la valeur $a au tag courant
	} 
}


pour modifier un attribut existant, ca doit se jouer avec ca:
SimpleXMLElement->attributes()
SimpleXMLElement->attributes()->nomAttribut = 'valeur';
0