Bonjour,

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

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
- <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>test@test.fr</email>
 
  </agence>
J'aimerai récupérer la valeur du noeud email, mais je n'y arrive pas.

Voilà comment je procède:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
 
$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 : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
 
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!