Précédent   Forum des professionnels en informatique > PHP > Bibliothèques et frameworks > XML > SimpleXML
SimpleXML Forum d'entraide pour l'extension SimpleXML, qui permet de manipuler des documents XML en PHP (approche DOM).
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 04/08/2007, 18h29   #1
Invité de passage
 
Inscription : février 2007
Messages : 3
Détails du profil
Informations forums :
Inscription : février 2007
Messages : 3
Points : 2
Points : 2
Par défaut [SimpleXML] Analyser un fichier XML avec PHP

bonjour,
j ai creer un fichier XML simple puis j ai essaye ede le parser avec script php mais il m affiche juste le premier element , j ai essaye de resoudre le probleme mais j'arrive pas a voir l'erreur!!
merci pour votre aide.

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
 
<?xml version="1.0" encoding="UTF-8"?>
<promotion>
	<etudiant>
		<nom>Mathieu</nom>
		<prenom>richard</prenom>
		<age>21</age>
		<genie>mecanique</genie>
	</etudiant>
	<etudiant>
		<nom>Phillipe</nom>
		<prenom>jacques</prenom>
		<age>25</age>
		<genie>informatique</genie>
	</etudiant>
	<etudiant>
		<nom>isabelle</nom>
		<prenom>dupont</prenom>
		<age>23</age>
		<genie>chimique</genie>
	</etudiant>
</promotion>
et le script php :
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
<?php
$fichier ="document_a_parser.xml";
$fp = fopen($fichier,"r");
if(!$fp)
{
	echo'erreur d ouverture!';
	exit;
}
else
{
	 *traiterTexte : fonction qui va traiter le texte entre les balises XML
	 *@param	   : l'identifiant du parseur qui va l'utiliser
	 *@param	   : le texte a afficher
	 */
	 function traiterTexte($parseur,$texte)
	 {
	 	echo $texte."</br>";
	 }
 
	$parseurXML = xml_parser_create(); // creer le parseur par le constructeur
	xml_set_character_data_handler($parseurXML , "traiterTexte"); //associer le parseur a la fonction de traitement
 
	while($ligneXML = fgets($fp ))
	{
		xml_parse($parseurXML , $ligneXML ,feof($fp));
 
	}
	xml_parser_free($parseurXML);
}
fclose($fp);
?>
et le resultat sur iExplorer l'affichage d'un seul element moi je veux tout afficher:

Mathieu

richard

21

mecanique
Someone86 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/08/2007, 09h43   #2
Rédacteur
 
Avatar de Yogui
 
Homme Guillaume Rossolini
Directeur technique
Inscription : février 2004
Messages : 13 720
Détails du profil
Informations personnelles :
Nom : Homme Guillaume Rossolini
Localisation : France

Informations professionnelles :
Activité : Directeur technique

Informations forums :
Inscription : février 2004
Messages : 13 720
Points : 17 355
Points : 17 355
Salut

Si tu utilises PHP5, une solution plus intéressante est par exemple SimpleXML.
__________________
Mes articles - Zend Certified Engineer (PHP + Zend Framework)
Ressources PHP - Ressources Zend Framework
Yogui est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 17h33.


 
 
 
 
Partenaires

Hébergement Web