cs_loupile
Messages postés95Date d'inscriptiondimanche 8 janvier 2006StatutMembreDernière intervention 7 avril 2011
-
23 nov. 2006 à 14:47
malalam
Messages postés10839Date d'inscriptionlundi 24 février 2003StatutMembreDernière intervention 2 mars 2010
-
23 nov. 2006 à 17:28
bonjour,
je suis en PHP5 j'arrive bien a lire le contenu de balise simple dans un fichier xml mais je n'arrive pas a lire des balises aves des caracteres specifiques, je m'explique
j'arrive bien à lire une balise <titre>jljsjflkjlfsj<titre> en ecrivant $titre=$item->titre;
mais comment faire pour lire une balise du type <titre:1> kjljlkjfsjlkjs <titre:1> ?
malalam
Messages postés10839Date d'inscriptionlundi 24 février 2003StatutMembreDernière intervention 2 mars 201025 23 nov. 2006 à 15:22
Hello,
y a un problème là.
Je vois 3 solutions :
- soit ton "titre:1" est le nom complet de ta balise, auquel cas ta balise est incorrecte. ":" est une valeur incorrecte pour un "tagname".
- soit ton "titre:1" se réfère à un espace de nom. Auquel cas, il manque des trucs.
http://xmlfr.org/documentations/tutoriels/050912-0001 - soit tu utilises cette reco des espaces de nom pour créer un nom de balise normalement incorrect...auquel cas, t'es pas dans la mouise ;-) Je ne pense pas que ce soit prévu par php.
Une solution est peut-être :
$sTagName = 'titre:1';
echo $item -> $sTagName;
En tous cas, on aurait besoin de plus d'infos pour se prononcer.
cs_loupile
Messages postés95Date d'inscriptiondimanche 8 janvier 2006StatutMembreDernière intervention 7 avril 2011 23 nov. 2006 à 15:29
en fait j'essaye de lire mon flux xml produit pour itunes sur mon propre site ... et j'ai des balises du genre :
Jason et Brad deux gentlemen dans Besançon ! Vous avez croisez deux personnes étranges en train de se filmer, vous allez les découvrir !
Ce n’est pas vraiment du cinéma, ni de la radio d’ailleurs, surtout pa
et je voudrais reussir a recuperer ce que j'ai entre ces balises .... mon problème c'est effectivement les ':'
et je ne sais pas comment faire
cs_loupile
Messages postés95Date d'inscriptiondimanche 8 janvier 2006StatutMembreDernière intervention 7 avril 2011 23 nov. 2006 à 15:51
je crois que tu as raison, il s'agit d'un espace de nom, j'ai pris le tutoriel que tu m'as envoyé ... mais je n'y comprends rien ...:-(
sais tu comment recuperé les valeurs a l'interieur d'un espace de nom de typ ?
merci d'avance
Vous n’avez pas trouvé la réponse que vous recherchez ?
malalam
Messages postés10839Date d'inscriptionlundi 24 février 2003StatutMembreDernière intervention 2 mars 201025 23 nov. 2006 à 15:58
Ok je pige mieux, ce sont bien des préfixes.
Voici un exemple, en passant par xpath :
<?php
$xml = <<<EOD
<title>My Book</title>
<chapter id="1">
<chap:title>Chapter 1</chap:title>
Donec velit. Nullam eget tellus vitae tortor gravida scelerisque.
In orci lorem, cursus imperdiet, ultricies non, hendrerit et, orci.
Nulla facilisi. Nullam velit nisl, laoreet id, condimentum ut,
ultricies id, mauris.
</chapter>
<chapter id="2">
<chap:title>Chapter 2</chap:title>
Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Proin
gravida. Phasellus tincidunt massa vel urna. Proin adipiscing quam
vitae odio. Sed dictum. Ut tincidunt lorem ac lorem. Duis eros
tellus, pharetra id, faucibus eu, dapibus dictum, odio.
malalam
Messages postés10839Date d'inscriptionlundi 24 février 2003StatutMembreDernière intervention 2 mars 201025 23 nov. 2006 à 16:59
En espèrant que ton espace de nom est défini (là, je l'ai défini au hasard hein ) :
<?php
$xml = <<<EOD
<root xmlns:itunes="http://toto.org/itunes-image">
</root>
EOD;
$sxe = new SimpleXMLElement($xml);
$entries = $sxe -> xpath ('//itunes:image');
foreach ($entries as $sChapTitle) {
echo (string)$sChapTitle['href'], '
';
}
?>
T'as oublié le foreach () de toute façon : xpath renvoie un noeud à parcourir.