[PHP-XML] je cherche à lire un fichier xml !

Résolu/Fermé
astrocybernaute Messages postés 80 Date d'inscription vendredi 5 janvier 2007 Statut Membre Dernière intervention 17 mars 2011 - 14 juin 2010 à 17:56
astrocybernaute Messages postés 80 Date d'inscription vendredi 5 janvier 2007 Statut Membre Dernière intervention 17 mars 2011 - 2 juil. 2010 à 00:28
Bonjour,

voila je cherche a lire les donnés d'un fichier XML pour pouvoir les stocker dans une bdd
est ce que vous connaissez une librairie qui peut faire ca et que vous pouvez me guidez pour réussir ma mission svp?
ca fait deja une semaine que j'aurai du terminer cette étape :((
j'ai deja trouvé une mais je n'arribve pas à la faire marcher j'ai bcp d'erreur (http://ww1.insicdesigns.com
j'ai trouvé une autre mais c compliqué !! (https://www.php.net/manual/en/book.xmlreader.php et https://www.php.net/simplexml

je n'ai pas cp de temps et je bloque vrm..aidez moi
pas forcément sur ceux que je vous ai donné..n'importe quoi qui fait l'affaire je le prend

un grand merci d'avance




A voir également:

3 réponses

Flachy Joe Messages postés 2103 Date d'inscription jeudi 16 septembre 2004 Statut Membre Dernière intervention 21 novembre 2023 259
14 juin 2010 à 19:03
Salut,
SimpleXML est très facile à utiliser, regarde la page d'exemple : https://www.php.net/manual/fr/simplexml.examples-basic.php

Ça converti l'arbre XML en objet, tu peux ensuite t'inspirer de ce genre de code https://phpro.org/examples/Convert-Object-To-Array-With-PHP.html pour obtenir un tableau.

Bon courage.
1
astrocybernaute Messages postés 80 Date d'inscription vendredi 5 janvier 2007 Statut Membre Dernière intervention 17 mars 2011 10
14 juin 2010 à 23:52
d'accord merci je vais voir ca aussi mais si c le meme que celui que j'ai vu j'ai eu bcp de prob
0
astrocybernaute Messages postés 80 Date d'inscription vendredi 5 janvier 2007 Statut Membre Dernière intervention 17 mars 2011 10
15 juin 2010 à 16:24
ca marche très bien jusqu'à présent merci infiniment tu m'a tellement aidé..merci encore Joe (¤_¤)
0
Flachy Joe Messages postés 2103 Date d'inscription jeudi 16 septembre 2004 Statut Membre Dernière intervention 21 novembre 2023 259
16 juin 2010 à 18:28
De rien, pense à mettre le statut Résolu...
0
astrocybernaute Messages postés 80 Date d'inscription vendredi 5 janvier 2007 Statut Membre Dernière intervention 17 mars 2011 10
24 juin 2010 à 12:59
dsl je le repasse en non résolu car j'ai une autre question
0
astrocybernaute Messages postés 80 Date d'inscription vendredi 5 janvier 2007 Statut Membre Dernière intervention 17 mars 2011 10
24 juin 2010 à 12:56
Bonjour tout le monde :)

voila je suis arrivée à faire ce que je voulais et donc je veux le partager avec vous
n'hésitez pas à me dire ce que vous en pensez

voila, mon code sert à lires n'importe quel fichier xml (ne contenant pas de namespace) et de l'afficher avec hiérarchie

Il y a quatre niveaux, si vous avez besoin de plus vous pouvez l'ajouter de la même façon, sinon si vous avez besoin de moins vous pouvez soit le supprimer ou le laisser ca ne gênera pas votre résultat


$x='xml/file.xml';
$xml = simplexml_load_file($x);
	
echo '<h2> Showing '.$xml->count().' items </h2>';
			
////echo all children+attributes from "file.xml" with hierarchy 

foreach ($xml->children() as $m) 
{ 
   printf("<h3>%s has got %d children.</h3>\n", $m['name'], $m->count());
		
	//first level
    	echo '<li><b>' .$m->getName().' </b>: '. $m.'</li><ul><ul>';
		if ($t=$m->attributes())  
				foreach($m->attributes() as $a => $b)
 				 {
   					 echo '<li>  '.$a,' = ',$b,"</li>";
					
				 }
				 
				 echo '</ul></ul>';
		
		//second level		 
		foreach ($m->children() as $mv) 
		{
    		echo ' <ul><li> <b> ' .$mv->getName();
                echo '</b>  :  '. $mv.'</li><ul>';
		 
			if ($mv->attributes())  
				foreach($mv->attributes() as $a => $b)
 				 {
   					 echo '<li>  '.$a,' = ',$b,"</li>";
				 }
			echo '</ul>';
				 
			
		   //third level	 
		   foreach ($mv->children() as $mvv) 
			{
			echo '<ul> <li><b>' . $mvv->getName();
                        echo '</b>  :  '.$mvv.'</li><ul>';
				
				if ($mvv->attributes())  
				 foreach($mvv->attributes() as $a => $b)
				  {
						 
					 echo '<li> '.$a,' = ',$b,"</li>";
						
				  }
				 echo '</ul></ul>';
				 
				//fourth level 
				foreach ($mvv->children() as $v) 
				{
    				echo ' <ul><li><b>' . $v->getName();
                                echo '</b> :  '.$v.'</li><ul>';
				 if ($v->attributes())  
				   foreach($v->attributes() as $a => $b)
 				 	  {
   					    echo '<li> '.$a,' = ',$b,"</li>";
				 	  }
				 	echo '</ul></ul>';
				}//4
				
			}//3
		 echo '</ul></ul>';
		 
		}//2
   
	}//end foreach 1
	
	
  




J'espère que ca va aider d'autres personnes

Wissal
1
astrocybernaute Messages postés 80 Date d'inscription vendredi 5 janvier 2007 Statut Membre Dernière intervention 17 mars 2011 10
25 juin 2010 à 11:50
Par contre maintenant j'ai un autre problème , c'est quand le fichier XML contient des namespaces..ca ne marche plus..et je ne sais pas comment le faire
est ce que qlq peut m'y aider svp
merci
1
astrocybernaute Messages postés 80 Date d'inscription vendredi 5 janvier 2007 Statut Membre Dernière intervention 17 mars 2011 10
2 juil. 2010 à 00:28
0