Page 1 sur 1

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

Posté : 15 nov. 2010, 18:57
par sheira
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!

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

Posté : 15 nov. 2010, 18:58
par stealth35
$selectboxesAgences il sort d'ou ?
tu travailles bien en E_ALL | E_STRICT

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

Posté : 16 nov. 2010, 09:31
par sheira
$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!

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

Posté : 16 nov. 2010, 11:13
par stealth35
tu devrais avoir une erreur parce que $selectboxesAgences n'existe pas dans ta function