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 : Sélectionner tout - Visualiser dans une fenêtre à part
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 : Sélectionner tout - Visualiser dans une fenêtre à part
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