Parser xml (classe permettant de lire un fichier xml à l'aide de domdocument)

4/5 (9 avis)

Vue 18 680 fois - Téléchargée 946 fois

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 / Exemple :


<? $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>';
	}
}

Codes Sources

A voir également

Ajouter un commentaire Commentaires
kankrelune Messages postés 1293 Date d'inscription mardi 9 novembre 2004 Statut Membre Dernière intervention 21 mai 2015
14 juin 2007 à 13:08
Uhm... c'est un un tuto ça... pas une source... .. .

@ tchaOo°
webdeb Messages postés 488 Date d'inscription samedi 5 avril 2003 Statut Membre Dernière intervention 31 mars 2009 4
14 juin 2007 à 13:51
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.
Palleas_44 Messages postés 130 Date d'inscription lundi 12 décembre 2005 Statut Membre Dernière intervention 19 avril 2009
14 juin 2007 à 13:52
Sinon ya simpleXML native à PHP5 ;)
ludovicanceaux Messages postés 440 Date d'inscription mardi 21 octobre 2003 Statut Membre Dernière intervention 6 mai 2010
14 juin 2007 à 16:05
Bah il faut remplacer mes balises par les votre!!! par exemple channel, link, description pour un RSS etc...
kankrelune Messages postés 1293 Date d'inscription mardi 9 novembre 2004 Statut Membre Dernière intervention 21 mai 2015
14 juin 2007 à 17:30
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... .. .

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.