Page 1 sur 1

recup donnees

Posté : 29 oct. 2008, 14:39
par bibo341
Bonjour,

Je debute sur la gestion de base par XML, j'ai trouve sur php.net ce sccript qui permet de récuperer les données d'un fichier XML dans un objet:

Voici mon fichier XML qui sert de test:

Code : Tout sélectionner

<?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>
Et voici mon code:

Code : Tout sélectionner

class BienList { var $name; // nom aa var $symbol; // symbole à trois lettres var $code; // code à une lettre var $type; // hydrophobique, chargé ou neutre 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);
Comment je peux récuperer par exemple que la partie "name" ??

Edit:
Pas de réponse :(
Pour plus d'info, il s'agit d'un moteur de recherche sur base XML je sais se n'ai pas la meilleur solution en terme de rapidité mais la base reste petite et je n'ai pas le choix.

J'ai entendu parlé de simplexml est-ce mieu que ma 1er solution???

xml

Posté : 04 nov. 2008, 18:51
par geulmim
salut je suis très intéressé si ta trouve une solution.