Bonjour à tous,

voila je dois récupérer des donner stocké dans un fichier XML, j'ai trouve une méthode pour mettre le contenu du XML dans un tableau type Object, mais je ne sais pas comment récupérer que certaine données
Voici le contenu xml pour mon test:

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
 
<?xml version="1.0"?>
<biens>
 
  <bien>
      <name>test1</name>
      <symbol>ala</symbol>
      <code>A</code>
      <type>hydrophobic</type>
  </bien>
 
  <bien>
      <name>test2</name>
      <symbol>lys</symbol>
      <code>K</code>
      <type>charged</type>
  </bien>
 
</biens>

Voici le code qui créer l'objet:

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
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
 
class BienList {
	function BienList ($aa) {
        foreach ($aa as $k=>$v)
            $this->$k = $aa[$k];
    }
}
 
function readDatabase($filename) {
    // lit la base de données xml des acides aminés 
    $data = implode("",file($filename));
    $parser = xml_parser_create();
    xml_parser_set_option($parser,XML_OPTION_CASE_FOLDING,0);
    xml_parser_set_option($parser,XML_OPTION_SKIP_WHITE,1);
    xml_parse_into_struct($parser,$data,$values,$tags);
    xml_parser_free($parser);
 
    // boucle à travers les structures
    foreach ($tags as $key=>$val) {
        if ($key == "bien") {
            $molranges = $val;
            // each contiguous pair of array entries are the 
            // lower and upper range for each molecule definition
            for ($i=0; $i < count($molranges); $i+=2) {
                $offset = $molranges[$i] + 1;
                $len = $molranges[$i + 1] - $offset;
                $tdb[] = parseMol(array_slice($values, $offset, $len));
            }
        } else {
            continue;
        }
    }
    return $tdb;
}
 
function parseMol($mvalues) {
    for ($i=0; $i < count($mvalues); $i++)
        $mol[$mvalues[$i]["tag"]] = $mvalues[$i]["value"];
    return new BienList($mol);
}
 
$db = readDatabase("moldb.xml");
echo "** Base des biens :\n";
print_r($db);
J'aimerai par exemple récupérer que les noms de molécules comment je peux faire ça???