Page 1 sur 1

Extraction XML

Posté : 04 janv. 2017, 19:31
par didibug
Bonjour
Je suis débutant en php et je n'arrive pas à extraire en php les valeurs contenues entre les balises DV d'un fichier XML. Il s'agit d'un extrait de fichier météo france. Je m'y perds avec les noeuds, les enfants ... J'ai parcouru de nombreux tutos toute la journée mais j'avoue que je décroche.
Si quelqu'un peut me faire un petit bout de code, ce serait sympa. Je voudrais en fait extraire, le département, la couleur et le risque, sachant que s'il n'y a pas de risque la balise n'existe pas.

Merci d'avance
Didier

Code : Tout sélectionner

<?xml version="1.0" encoding="UTF-8"?> <CV> <DV dep="01" coul="2"> <risque val="5"/> </DV> <DV dep="02" coul="1"/> <DV dep="03" coul="2"> <risque val="5"/> </DV> <DV dep="04" coul="1"/> <DV dep="05" coul="1"/> <DV dep="06" coul="1"/> <DV dep="0610" coul="1"/> <DV dep="07" coul="1"/> <DV dep="08" coul="2"> <risque val="5"/> </DV> </CV>

Re: Extraction XML

Posté : 04 janv. 2017, 23:31
par zeus
Bonjour,

Est-ce que tu as regardé du côté de SimpleXML (http://php.net/manual/fr/simplexml.examples-basic.php) ?

N'hésites pas à nous poser d'autres questions si tu n'y arrives toujours pas.

Re: Extraction XML

Posté : 06 janv. 2017, 12:39
par didibug
Merci pour le lien . Je l'avais déjà exploré sans vrai succès. Toutefois en persévérant et à l'aide de l'adresse http://www.lephpfacile.com/manuel-php/s ... ildren.php j'ai enfin réussi. Je colle le petit bout de code si cela peut intéresser quelqu'un.
Didier
$xml=simplexml_load_file("http://vigilance.meteofrance.com/data/NXFR33_LFPW_.xml?");
foreach ($xml->children() as $second_gen) {
	if ($second_gen['dep'] == "01")
		{
		echo ' departement:' . $second_gen['dep']." - couleur: ".$second_gen['coul'];

			foreach ($second_gen->children() as $third_gen) {
				echo ' - risque: ' . $third_gen['val'] . '<br>';
			}
		}
}

Re: Extraction XML

Posté : 06 janv. 2017, 23:13
par zeus
Super !

N'oublie pas de marquer le sujet comme résolu.
Cette fois-ci, je l'ai fait pour toi