Simplexml_load_file('rss.php') -> Impossible ?

Bonjour !
Le titre parle de lui-même, …
Quand je fais ça :

simplexml_load_file('rss.xml')

=> ça marche niquel !!!
Mais ça,

simplexml_load_file('rss.php') -> impossible ?

ça me renvoit :

Warning: I/O warning : failed to load external entity "xml_rss.php?sortie=rss" in d:\personnel\www\xml_site\index.php on line 40

Je fais mes tests sous wamp5, quelqu’un peut me dire pourquoi ça veut pas ???

Vous pourrez me dire que c’est débile de parser avec php un xml générer par php lui-même, et vous auriez raison, seulement mon but serait de partager la page.php qui genere le xml entre une version flash et une version classique… et c’est aussi pour apprendre ;).

Oui enfin bon…

http://fr.php.net/manual/fr/function.simplexml-load-file.php

Ca charge un fichier sur le système de fichier sans faire appel à un parser quelconque, juste le parser XML. En gros ce que tu parses c’est juste ton fichier php avec les tags php (<?php ?>).

Ceci devrait fonctionner :

<?php
ob_start();
require_once( 'parser.php' );
$content = ob_get_clean();
simplexml_load_string($content);
?>

Sauf qu’il faut faire gaffe à ce que ton fichier php n’entre pas en collision avec le fichier parent (genre: si dans le fichier parent tu as $foo = 1 et dans le fichier inclut tu as $foo = 2, tu risques d’avoir des problèmes. Tu peux foutre ça dans une fonction…

Merci :wink: => ça marche parfaitement après quelques bidouilles (rectification des collisions comme prévenu)