Pages :
Bonjour,

J'ai un problème lorsque j'utilise la fonction simplexml_load_file. Il semble ne rien se passer.


if (file_exists('xml/pages.xml')) { echo "eee";
    $xml = simplexml_load_file("/home/jc/public_html/farscapeUniverseVersion2/xml/pages.xml");
    echo $xml;
    echo $xml->contenu[0]->titre;
    print_r($xml);
}


Rien ne s'affiche. Je suis sur de l'url du nom du fichier.

Merci d'avance pour votre aide
Modifié par scapers (09 Aug 2009 - 22:44)
Salut,

je ne sais pas si ça vient de là mais puisque tu fais
if (file_exists('xml/pages.xml')) {
pourquoi ne pas faire
$xml = simplexml_load_file('xml/pages.xml');
?
Merci pour ta réponse.
Le fichier existe bien, il rentre bien dans le if (echo à l'appui). J'avais d'ailleur même fait un simplexml_load_file au dessus du if

Pour la ligne de code c'est ce que j'avais fait un premier lieu mais non rien ne s'affiche.
Modifié par scapers (09 Aug 2009 - 20:24)
Lorsque je fait

if (file_exists('xml/pages.xml')) { echo "eee";
    $xml = simplexml_load_file('xml/pages.xml') or die("bugg");

Il affiche "eee" et "buuug"
Tu es sûr que ton fichier est bien formé ?

Tu pourrais également essayer de rajouter en début de script
error_reporting(E_ALL);
pour être sûr de voir d'éventuels warnings...
Modifié par Heyoan (09 Aug 2009 - 20:56)
Je suis sur à 99%que le fichier xml est bon:


<?xml version="1.0"?>
<pages>
	<contenu>
        	<titre>dddd</titre>
		<lien>rrrrr</lien>
        </contenu>		
</pages>


Il n'y a aucun messages d'erreurs affiché
scapers a écrit :
Il affiche "eee" et "buuug"
J'avais zappé ce post ! Une petite question bête : tu es bien certain de disposer de SimpleXML ? Notamment il faut au moins une version de PHP égale à 5...


Edit: un moyen simple de le savoir est de tester l'exemple fourni pour la fonction simplexml_load_string.
Modifié par Heyoan (09 Aug 2009 - 21:16)
Je ne suis pas certain d'avoir simpleXml. Mais j'ai cru comprendre que c'était par défaut intégré dans php5 (j'utilise php5 et j'ai même pris soin de renommer la page où s'éxecute le code en .php5
J'ai testé l'exemple 1 de ton lien et ca à l'air de bien s'afficher à quelque variantes prés:
Mon execution:
object(SimpleXMLElement)#1 (4) { ["title"]=> string(11) "Forty What?" ["from"]=> string(3) "Joe" ["to"]=> string(4) "Jane" ["body"]=> string(57) " I know that's the answer -- but what's the question? " }

L'éxecution du site de ton lien:
SimpleXMLElement Object
(
Smiley title => Forty What?
Smiley from => Joe
Smiley to => Jane
Smiley body =>
I know that's the answer -- but what's the question?
)
Modifié par scapers (09 Aug 2009 - 21:29)
Bon ben déjà on est sûr que tu as bien SimpleXml.

Note : pour avoir le même rendu il aurait fallu faire
echo '<pre>';
print_r($xml);
echo '</pre>';
Sinon je suis à court d'idée à part celle-ci : tu n'as aucun caractère avant <?xml (du genre saut de ligne ou BOM...) ?
Modifié par Heyoan (09 Aug 2009 - 22:01)
non je n'ai aucun caractère de saut.
La fonction de chargement est entouré de trace qui s'affiche bien Smiley decu Smiley decu

Si j'ai bien simpleXml je comprend vraiment pas pourquoi la fonction de chargement ne marche pas
non je n'acccède pas à mon ftp (port 21 interdit en neuf wifi)

voici une copie exacte du fichier:
<?xml version="1.0"?>
<pages>
<contenu>
<titre>dddd</titre>
<lien>rrrrr</lien>
</contenu>
</pages>

je vais tenter de l'uploader quelque part
Sauf que l'image ne m'aide pas : je cherchais à savoir si tu avais ou non un caractère BOM. En général c'est une option de l'éditeur (enregistrer en utf-8 avec/sans BOM).
je me suis permis de t'envoyer un mail à admin@heyoan.com
J'ai regardé sur mon éditeur et il y a uniquement l'option enregistrer en utf8. Il ne précise pas.
Modifié par scapers (09 Aug 2009 - 22:28)
ne te dérange plus. Il se trouve qu'il y avait une erreur sur le fichier pages.xml et aucune sur le fichier test.xml (là je n'avais rien vu sans doute à cause d'un ctrl-s foireux avant un F5)
Pour info le bug sur le fichier pages.xml c'était un oubli du caractère "/"' lors de la fin d'une balise Smiley sweatdrop
Merci beaucoup pour ton aide (tu m'a enormément aidé) et désolé du dérangement Smiley confus
Modifié par scapers (09 Aug 2009 - 22:36)
Pages :