Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

PARSER XML (CLASSE PERMETTANT DE LIRE UN FICHIER XML À L'AIDE DE DOMDOCUMENT)


Information sur la source

Catégorie :Xml Classé sous : xml, xmlparser, xmlparser, noeud, lireunfichierxml Niveau : Initié Date de création : 13/06/2007 Vu / téléchargé: 10 090 / 429

Note :
1 / 10 - par 3 personnes
1,00 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10

Commentaire sur cette source (9)
Ajouter un commentaire et/ou une note

Description

Bah j'ai appris tout seul à faire ca cette après midi, c'est comme le titre l'indique pour pouvoire lire un fichier XML, si quelqu'un à des remarques à faire, qu'il n'hésite pas car c'est la première fois ke je m'interresse aux fichiers XML!!!!!!


Attention, je crois savoir que ca ne marche pas avec les versions antérieur à PHP5 (Ne faites pas la même erreur que moi qui à chercher pendant 2 heures une erreur à cause d'un problème de version!!!!)
 

Source

  • <? $dom=new DomDocument(); //J'ouvre un nouveau document Dom
  • $dom->load('framemaker.xml'); //Mon fichier XML
  • $liste_node = $dom->getElementsByTagName("ROW");//Je sélectionne mon premier noeud - $dom = Mon fichier XML
  • foreach($liste_node as $node){ //et dans chaque noeud je prend les fils et je recommence
  • if($node->hasAttribute("RECORDID")){//Si RECORDID à un attribut (Une valeur)
  • echo $node->getAttribute("RECORDID").'<br>';//Je prend sa valeur
  • //Maintenant j'appelle des fonctions ca évite de tout retaper 5 fois!!!!
  • print_element($node,'Categorie');//$node = Noeud à laquelle je prend des éléments - Catégorie = Noeud qui m'interresse
  • print_element($node,'Couleur');
  • print_element($node,'Kilom');
  • print_element($node,'Interieur');
  • print_element($node,'Marque');
  • print_element($node,'Mill');
  • print_element($node,'Note_fiche');
  • $child=$node->getElementsByTagName('Num_Voiture');
  • foreach($child as $array){
  • $child1=$node->getElementsByTagName('DATA');
  • foreach($child1 as $array1){
  • echo '<img src="voitures/'.$array->nodeValue.'/images/'.$array1->nodeValue.'" />';
  • }
  • }
  • }
  • echo "<br /><br>";
  • }
  • function print_element($node,$balise){
  • $child=$node->getElementsByTagName($balise);// $node = Mon noeud
  • foreach($child as $array){
  • echo $balise.' : '.$array->nodeValue.'<br>';
  • }
  • }
<? $dom=new DomDocument(); //J'ouvre un nouveau document Dom
$dom->load('framemaker.xml'); //Mon fichier XML

$liste_node = $dom->getElementsByTagName("ROW");//Je sélectionne mon premier noeud    -    $dom = Mon fichier XML
foreach($liste_node as $node){ //et dans chaque noeud je prend les fils et je recommence
    if($node->hasAttribute("RECORDID")){//Si RECORDID à un attribut (Une valeur)
    	echo  $node->getAttribute("RECORDID").'<br>';//Je prend sa valeur
		
		//Maintenant j'appelle des fonctions ca évite de tout retaper 5 fois!!!!
		print_element($node,'Categorie');//$node = Noeud à laquelle je prend des éléments    -    Catégorie = Noeud qui m'interresse
		print_element($node,'Couleur');
		print_element($node,'Kilom');
		print_element($node,'Interieur');
		print_element($node,'Marque');
		print_element($node,'Mill');
		print_element($node,'Note_fiche');
		$child=$node->getElementsByTagName('Num_Voiture');
		foreach($child as $array){
			$child1=$node->getElementsByTagName('DATA');
			foreach($child1 as $array1){
				echo '<img src="voitures/'.$array->nodeValue.'/images/'.$array1->nodeValue.'" />';
			}
		}
    }
    echo "<br /><br>";
}

function print_element($node,$balise){
	$child=$node->getElementsByTagName($balise);// $node = Mon noeud
	foreach($child as $array){
		echo $balise.' : '.$array->nodeValue.'<br>';
	}
}

Fichier Zip

Pour les "Membres Club", vous pouvez télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip

Commentaires et avis

signaler à un administrateur
Commentaire de kankrelune le 14/06/2007 13:08:23

Uhm... c'est un un tuto ça... pas une source... .. .

@ tchaOo°

signaler à un administrateur
Commentaire de webdeb le 14/06/2007 13:51:17

C'est en effet plus un tuto qu'un code car il ne s'applique qu'à ton fichier XML qui suit une DTD très spécifique.

signaler à un administrateur
Commentaire de Palleas_44 le 14/06/2007 13:52:54

Sinon ya simpleXML native à PHP5 ;)

signaler à un administrateur
Commentaire de ludovicanceaux le 14/06/2007 16:05:47

Bah il faut remplacer mes balises par les votre!!! par exemple channel, link, description pour un RSS etc...

signaler à un administrateur
Commentaire de kankrelune le 14/06/2007 17:30:13

Oui mais ça reste un simili tuto... et encore... tu fais voir comment utiliser dom xml pour parser un fichier xml... par contre tu n'explique pas à quoi servent les fonctions et quels sont les possibilités (même si le nom des fonction est généralement explicite)... quoi qu'il en soit ce n'est pas une source... .. .

@ tchaOo°

ps : je viens de voir... le niveau initié est plus qu'injustifié... c'est tout juste du débutant... .. .

signaler à un administrateur
Commentaire de kishkaya le 22/06/2007 21:14:03

Juste pour pas dire comme tout le monde je vais dire que c'est super, ça m'aura fait chercher de la doc sur les fonctions xml sous php5.
Quoi qu'il en soit ça reste une initiative intéressante visant à aider les autres et je ne peux que t'encourager dans ce sens.
Ca change des gros rats qui posent plein de questions et postent jamais de codes ou de tutos (comme moi par exemple)

Merci

signaler à un administrateur
Commentaire de ludovicanceaux le 22/06/2007 22:13:00

merci, kishkaya, lol!!!!!!

signaler à un administrateur
Commentaire de MedSabri le 11/12/2007 12:37:41

load ne fonctionne pas fatal erreur

signaler à un administrateur
Commentaire de ludovicanceaux le 11/12/2007 17:19:44

Déjà un petit bonjour ne serait pas de refus!!!! et ensuite est tu en local avec easy php ou autre????

Ajouter un commentaire

Discussions en rapport avec ce code source dans le forum

[PHP 5][DOM XML] Suppression du noeud courant [ par javajavajava ] Bonjour, voici comment se présente mon fichier xml&lt;?xml version="1.0" encoding="utf-8" ?&gt; &lt;menu&gt;&lt;nbelements&gt;5&lt;/nbelements&gt; &lt XML insérer un élément tout au dessus [ par Straw ] Bonjour &#224; tous, je pose cette question dans le cadre de mon m&#233;moire... que je dois rendre dans 12jours Je d&#233;veloppe un site flash-x Récupérer les données d'un fichier xml [ par iomega ] Bonjour à tousJe voudrai récupérer la valeur qui se trouvent dans une sous catégorie de la balise &lt;RECORD&gt;&lt;ARTICLE&gt; ET ENFIN LA VALEUR QUE probleme fatal error call undefined function [ par ad102 ] Bonjour Voila mon probleme : lorsque je fais l'appel d'une fonction dans mon programme celle-ci n'est pas reconnue alors que je pense&nbsp;l'avoir bie pb domxml [ par djcal007 ] salut, j'ai un probl&#232;me pour ajouter,gr&#226;ce &#224; domxml, de nouveaux noeuds : voila mon fichier xml: &lt;?xml version="1.0"?&gt; &lt;root& modifier un fichier .xml [ par gaillardo ] Bonjour,J'ai un lecteur flv qui va chercher l'url de la video à afficher dans un fichier xml (flv_config.xml) et j'aimerai tous simplement réussir à m Script PHP rapport XML TAILLE XXL ! [ par ultra_nezz ] Bonjour,Je suis confronté à un problème de taille, on peut le dire. Je dispose d'un fichier bibliothèque.xml (exportation de ma bibliothèque itunes) e insérer contenu xml dans bdd mysql [ par indutec ] Bonjour à tous, Voilà, j'aimerais encoder le contenu d'un fichier xml, que je ne génère pas, vers une base de données mysql. Pour l'instant, il m'enc insérer contenu xml dans bdd mysql [ par indutec ] Bonjour, Je souhaite insérer le contenu d'un fichier xml externe dans une base de données sur mon serveur. Pour l'instant, il me génère une erreur Php et excel ???? [ par Adagyo ] Salut @ tous,Je cherche un moyen de faire communiquer le contenu d'une base MySQL avec un tableau Excel.J'ai pensé à passer par du XML (je fait une re


Nos sponsors

Sondage...

CalendriCode

Octobre 2008
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Téléchargements

Logiciels à télécharger sur le même thème :



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel BAÏSE, Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,312 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.