Eléphant du PHP |
89 Messages
11 août 2010, 12:08
J'aimerai avoir ton avis sur une autre partie du code, cette fois ci c'est du XML.
1.<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
2.<friendsList>
3. <steamID64>xxxxxxxxxxx</steamID64>
4. <steamID>
5. <![CDATA xxxxxx ]></steamID>
6. <friends>
7. <friend>xxxxxx</friend>
8. <friend>xxxxxx</friend>
9. <friend>xxxxxx</friend>
10. <friend>xxxxxx</friend>
11. <friend>xxxxxx</friend>
12. </friends>
13. </friendsList>
Voici ma reqûete xpath:
$url = $xpath->query('//friendsList/friends/friend*')->item(0)->value();
echo $url;
C'est toujours ma requête qui pose problème, je veut lire toutes les valeurs des enfants friends.
J'ai une erreur de ce type
Call to a member function item() on a non-object
EDIT:
J'ai essayé avec SimpleXml ca marche, mais y a un hic au niveau de la structure.
$dom = new DOMDocument;
$dom->loadXML('<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<friendsList>
<steamID64>76561197984780389</steamID64>
<steamID>
<![CDATA[3P SLK[L] ;g00dByMyL0ver]]></steamID>
<friends>
<friend>76561198004593774</friend></friends>
</friendsList>');
$s = simplexml_import_dom($dom);
echo $s->friends[0]->friend;
Ca m'affiche bien l'id de mon ami: 76561198004593774 en revanche ce qui est embattant c'est que si je remplace la chaine de caractère XML par une variable
$dom->loadXML('$data_string')
j'ai une erreur... Je voudrais lire le flux en direct.