[RESOLU] Extraction XML

didibug
Invité n'ayant pas de compte PHPfrance

04 janv. 2017, 19:31

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>

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 13231 Messages

04 janv. 2017, 23:31

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.
Connaître son ignorance est la meilleure part de la connaissance
Pour un code lisible : n'hésitez pas à sauter des lignes et indenter

twitter - site perso - Github - Zend Certified Engineer

didibug
Invité n'ayant pas de compte PHPfrance

06 janv. 2017, 12:39

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

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 13231 Messages

06 janv. 2017, 23:13

Super !

N'oublie pas de marquer le sujet comme résolu.
Cette fois-ci, je l'ai fait pour toi
Connaître son ignorance est la meilleure part de la connaissance
Pour un code lisible : n'hésitez pas à sauter des lignes et indenter

twitter - site perso - Github - Zend Certified Engineer