Récupérer la valeur d'un noeud XML

Petit nouveau ! | 2 Messages

15 nov. 2010, 18:57

Bonjour,

J'utilise la fonction simplexml_load_file() pour récupérer des des données d'un fichier XML que voici:

Code : Tout sélectionner

- <job> <jobid>73</jobid> <reference>20100729161718</reference> <client>Microsoft</client> - <agence> <nom>MONTBELIARD-BELFORT</nom> <adresse>7, rue des roses</adresse> <cp>25200</cp> <ville>MONTBELIARD</ville> <regionLibelle>Franche-Comté</regionLibelle> <tel>03 81 00 00 00</tel> <fax>03 81 00 00 00</fax> <email>[email protected]</email> </agence>
J'aimerai récupérer la valeur du noeud email, mais je n'y arrive pas.

Voilà comment je procède:

Code : Tout sélectionner

$xmlTopNodesName = 'job'; $selectboxes = array ('Domaine','Poste'); $selectboxesAgences = array ('fax','email'); $xml = simplexml_load_file($url); foreach ($xml as $key => $value) { if ($key==$xmlTopNodesName) $annonces[] = $value; } if (!count($annonces)) die(); foreach ($annonces as $annonce) { $mySql = "SELECT * FROM `agences` WHERE `agence_mail ` ='".getValueFromLabelAgence($annonce,'email')."'"; $myQuery = mysql_query($mySql); echo $mySql; print_r($myQuery);
Et voilà la fonction qui pose problème et ne me retourne rien:

Code : Tout sélectionner

function getValueFromLabelAgence($object,$label) { foreach ($object->agence as $agence) { if ($agence->email == $label) { if (in_array($label,$selectboxesAgences)) return formatSelect($agence->email); return mysql_real_escape_string($agence->email); } } }
Merci d'avance pour votre aide!

ViPHP
ViPHP | 5462 Messages

15 nov. 2010, 18:58

$selectboxesAgences il sort d'ou ?
tu travailles bien en E_ALL | E_STRICT

Petit nouveau ! | 2 Messages

16 nov. 2010, 09:31

$selectboxesAgences = array ('fax','email');

oui pour l'E-ALL et l'E-STRICT


J'ai juste fait

Code : Tout sélectionner

function getValueFromLabelAgence($object,$label) { global $selectboxesAgences; foreach ($object->agence as $agence) { if (in_array($label,$selectboxesAgences)) return ($agence->email); return mysql_real_escape_string($agence->email); } }
et ça marche.

Merci pour votre aide!
Modifié en dernier par sheira le 16 nov. 2010, 11:48, modifié 1 fois.

ViPHP
ViPHP | 5462 Messages

16 nov. 2010, 11:13

tu devrais avoir une erreur parce que $selectboxesAgences n'existe pas dans ta function