[SimpleXML] Récupérer le premier attribut uniquement

Récupérer le premier attribut uniquement [SimpleXML] - PHP - Programmation

Marsh Posté le 06-03-2010 à 14:08:31    

Hello tout le monde,  
 
J'utilise SimpleXML et je souhaiterais récupérer uniquement le premier argument.  
 
http://fr2.php.net/manual/en/simpl [...] ibutes.php
 

Code :
  1. <?php
  2. $string = <<<XML
  3. <a>
  4. <foo name="one" game="lonely">1</foo>
  5. </a>
  6. XML;
  7. $xml = simplexml_load_string($string);
  8. foreach($xml->foo[0]->attributes() as $a => $b) {
  9.     echo $a,'="',$b,"\"\n";
  10. }
  11. ?>


 
la doc de php.net montre uniquement l'utlisation d'une boucle pour récupérer tous les attributs. Je n'ai pas besoin de cela.  
J'ai donc essayé  
 
$xml->foo[0]->attributes()->item(0)
et  
$xml->foo[0]->attributes()[0]  
mais sans succès, on me dit que ce n'est pas autorisé.  
Pour le moment, je vais faire une boucle puis un break. Je trouve cela débile mais pour le moment je peux malheureusement pas faire autrement.
 
Si vous avez une solution je suis preneur.

Reply

Marsh Posté le 06-03-2010 à 14:08:31   

Reply

Marsh Posté le 06-03-2010 à 14:26:30    

Les attributs en XML sont indexés, pas ordonnés, demander "le premier attribut" n'a strictement aucun sens, c'est fondamentalement équivalent à demander un attribut pris au hazard.
 
Ton problème, c'est de vouloir le premier attribut. Cette demande n'a aucun sens.


---------------
Stick a parrot in a Call of Duty lobby, and you're gonna get a racist parrot. — Cody
Reply

Marsh Posté le 08-03-2010 à 00:16:25    

ahh oki, les attributs sont indexé totallement dans le désordre.  
Dans tous les balises que je veux parser, le premier attribut est "id" avec une valeur. Le 2ème atttibut je m'en moque.
 
Oki, dans ce cas je vais faire une jolie boucle foreach avec un break

Reply

Marsh Posté le 08-03-2010 à 06:55:03    

weed a écrit :

ahh oki, les attributs sont indexé totallement dans le désordre.  
Dans tous les balises que je veux parser, le premier attribut est "id" avec une valeur. Le 2ème atttibut je m'en moque.
 
Oki, dans ce cas je vais faire une jolie boucle foreach avec un break


mais... c'est complètement con, t'as juste à récupérer ton attribut via sa clé, puisque tu la connais [:pingouino]


---------------
Stick a parrot in a Call of Duty lobby, and you're gonna get a racist parrot. — Cody
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed