Parser un xml simple
17 messages • Page 1 sur 2 • 1, 2
Consultez la formation au référencement naturel Google de WebRankInfo / Ranking Metrics
Parser un xml simple
Bonjour,
Je souhaiterai parser un xml (via php), mais les exemples sur le net sont bien plus évolués que ce que je veux faire.
J'ai un fichier xml formaté comme suit :
<data>
<infos>l'info 1</infos>
<infos>l'info 2</infos>
<infos>l'info 3</infos>
</data>
je voudrais parcourir ce fichier et afficher dans ma page php :
La listes des infos :
l'info 1
l'info 2
l'info 3
C'est pas bien dur, mais je n'y arrive pas
Merci pour votre aide
Je souhaiterai parser un xml (via php), mais les exemples sur le net sont bien plus évolués que ce que je veux faire.
J'ai un fichier xml formaté comme suit :
<data>
<infos>l'info 1</infos>
<infos>l'info 2</infos>
<infos>l'info 3</infos>
</data>
je voudrais parcourir ce fichier et afficher dans ma page php :
La listes des infos :
l'info 1
l'info 2
l'info 3
C'est pas bien dur, mais je n'y arrive pas
Merci pour votre aide
Merci pour vos réponse, mais pas si simple tout ca ^^
j'ai un bout de script, mais ca ne m'affiche que le premier <infos>
function lit_xml($fichier,$item,$champs) {
$compt = 0;
if($chaine = @implode("",@file($fichier))) {
$tmp = preg_split("/<\/?".$item.">/",$chaine);
for($i=1;$i<sizeof($tmp)-1;$i+=2)
// ========= dois y avoir une erreur dans ce qui suit? =======
foreach($champs as $champ) {
$val = preg_split("/<\/?".$champ.">/",$tmp[$i]);
$tmp2[$compt] = $val;
$compt = $compt + 1;
}
return $tmp2;
}
}
//Lecture
$xml = lit_xml("monfichier.xml","data",array("infos"));
$i=0;
foreach($xml as $row) {
$i = $i + 1;
echo $row[$i];
}
Merci pour votre aide
j'ai un bout de script, mais ca ne m'affiche que le premier <infos>
function lit_xml($fichier,$item,$champs) {
$compt = 0;
if($chaine = @implode("",@file($fichier))) {
$tmp = preg_split("/<\/?".$item.">/",$chaine);
for($i=1;$i<sizeof($tmp)-1;$i+=2)
// ========= dois y avoir une erreur dans ce qui suit? =======
foreach($champs as $champ) {
$val = preg_split("/<\/?".$champ.">/",$tmp[$i]);
$tmp2[$compt] = $val;
$compt = $compt + 1;
}
return $tmp2;
}
}
//Lecture
$xml = lit_xml("monfichier.xml","data",array("infos"));
$i=0;
foreach($xml as $row) {
$i = $i + 1;
echo $row[$i];
}
Merci pour votre aide
C'est amusant de voir le nombre de personne qui tente de lire un fichier XML avec des fonctions de string (refpartie je ne me moque pas, juste un constat). Alors que justement le format XML est fait pour être accédé de façon simple via des librairies faites pour...
Sinon oui pour rabacher : simpleXML.
Sinon oui pour rabacher : simpleXML.
Effectivement le traitement d'un fichier xml bien construit est vraiment simple avec SimpleXML
Mais mon fichier ne répond pas au norme d'un fichier XML.
<data>
<infos><b>L'info du jour</b><br/>Détails de l'info <div align="center">texte texte</div></infos>
<infos><b>L'info de la veille</b><br/>Détails de l'info <div align="center">texte texte</div></infos>
</data>
Mon fichier n'a pas de doctype et autres... je dois donc le prendre comme un fichier "Texte"
Voilà, je demande une SimpleAide
Merci à vous
ps : malheureusement je ne peux pas adapter le format du fichier xml
Mais mon fichier ne répond pas au norme d'un fichier XML.
<data>
<infos><b>L'info du jour</b><br/>Détails de l'info <div align="center">texte texte</div></infos>
<infos><b>L'info de la veille</b><br/>Détails de l'info <div align="center">texte texte</div></infos>
</data>
Mon fichier n'a pas de doctype et autres... je dois donc le prendre comme un fichier "Texte"
Voilà, je demande une SimpleAide
Merci à vous
ps : malheureusement je ne peux pas adapter le format du fichier xml
refpartie a écrit:<data>
<infos><b>L'info du jour</b><br/>Détails de l'info <div align="center">texte texte</div></infos>
<infos><b>L'info de la veille</b><br/>Détails de l'info <div align="center">texte texte</div></infos>
</data>
A quelle niveau c'est pas un XML valide?
C'est du xHTML là (car <br/>) donc valide xml.
heuuu je ne sais pas si je suis le seul à le penser, mais les parseurs XML ne sont pas fait pour ce que tu souhaite faire !
Il faut distinguer deux choses quand on manipule de l'XML
1 - le fichier XML stock de l'information qu'on va traiter, un fichier de configuration par exemple, dans ce cas, parser du XML est justifié et on ne peux pas faire autrement
2 - le fichier XML contient des données qu'on souhaite formater (ton cas), et dans ce cas là, il y a XSL qui est beaucoup beaucoup plus simple pour ce que tu souhaite faire
un truc du genre
après tu peux appliquer une transformation coté client ou coté serveur en fonction de tes besoins.
Il faut distinguer deux choses quand on manipule de l'XML
1 - le fichier XML stock de l'information qu'on va traiter, un fichier de configuration par exemple, dans ce cas, parser du XML est justifié et on ne peux pas faire autrement
2 - le fichier XML contient des données qu'on souhaite formater (ton cas), et dans ce cas là, il y a XSL qui est beaucoup beaucoup plus simple pour ce que tu souhaite faire
un truc du genre
- Code: Tout sélectionner
...
<xsl:for-each select="/data/infos">
<xsl:value-of select="text()" />
</xsl:for-each>
...
après tu peux appliquer une transformation coté client ou coté serveur en fonction de tes besoins.
Leonick a écrit:XSL côté serveur, je ne vois pas trop l'intérêt. Côté client oui.
bein tous les clients ne supportent pas la transformation XSL ... bon la plupart le font je sais ... mais ça dépend des cas d'utilisation (terminaux mobiles par exemple)
sinon l'utilité coté serveur c'est que ca reste toujours plus simple de mettre en forme de l'XML via une transformation XSL que de le parser !
XML/XSL pour la mise en forme c'est le même principe que les templates pour les CMS, donc que la transformation se fasse coté serveur ou coté client ca ne change rien
C'est "visuellement" plus simple, mais le fichier devra quand même être parsé, si ce n'est par siplexml, ça sera par le processeur xslt, qui, soit dit en passant, n'est pas obligatoirement installé sur tous les serveurs web.aladdin a écrit:sinon l'utilité coté serveur c'est que ca reste toujours plus simple de mettre en forme de l'XML via une transformation XSL que de le parser !
justement, ça consomme beaucoup de ressources pour effectuer des fonctions basiques.aladdin a écrit:XML/XSL pour la mise en forme c'est le même principe que les templates pour les CMS, donc que la transformation se fasse coté serveur ou coté client ca ne change rien
17 messages • Page 1 sur 2 • 1, 2
Formation recommandée sur ce thème :
Formation Référencement naturel Google : apprenez une méthode efficace pour optimiser à fond le référencement naturel dans Google de façon durable... Formation animée par Olivier Duffez et Fabien Facériès, experts en référencement naturel.
Tous les détails sur le site Ranking Metrics : programme, prix, dates et lieux, inscription en ligne.
Lectures recommandées sur ce thème :
- Google dépose 2 brevets pour AdSense
- Google Enterprise a son blog
- Le blog de Google Analytics
- Le blog officiel de Google Research
- Un (RSS) pour tous (les blogs officiels de Google)
- Le blog officiel de Google au Japon
- Le blog officiel de Google Custom Search (CSE)
- Référencement vidéo sur Exalead
- Participez au projet 3x3 !
- Intégrer facilement un flux RSS externe
- Parser XML
- Parser xml php
- Logiciel Parser de Xml
- parser un document xml
- Parser un xml ( durée du traitement )
- Parser XMl avec PHP 5
- probleme pour parser du xml
- Difficulté à parser du XML avec simpleXML()
- Parser un xml voluminueux sur plusieurs pages ?
- problem pour parser un flux xml avec magpierss
- Parser et mettre en page php un gros flux xml
- Parser XML balises sur plusieurs niveaux (API amazon)
- parser et sauver un flux XML dans une bdd > je sèche
Consultez la description détaillée des produits ou services de Google suivants : API Google Checkout
- Transformer des citations en liens
Cet outil vous permet de trouver des pages citant votre site mais ne faisant pas (encore) de lien. Il suffira parfois d'un simple mail pour transformer cette simple citation en lien (backlink).
Qui est en ligne
Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités






le forum