integrer un xml sur une page pour un flux RSS 2


integrer un xml sur une page pour un flux RSS 2    integrer un xml sur une page pour un flux RSS 2
Auteur Message
darkreal
PentiumII-233
PentiumII-233


Inscrit le: 14 Mar 2006
Messages: 478
Localisation: A la fois Mars et Hyrule

Forum informatique FORUM sur l'Informatique, forum internet, forum emploi, la musique, le cinéma, les DIVX, les DVD, les séries, les bandes dessinées, les livres, la photographie.Posté le: Jeu Juin 28, 2007 11:35 am    Sujet du message: integrer un xml sur une page pour un flux RSS 2 Répondre en citant

Bonjour,

Suite de ce post, pour y voir plus clair.

Bonjour,

Je débute en RSS et XML alors désolé d'avance, j'espère m'améliorer grâce à vous.

Voilà, j'ai créer un fichier xml et xslt. Le xml est bien lisible lorsque je l'appel.

J'aimerais incorporer ce xml dans une page de mon site.
Pour cela j'ai fais en PHP :
Code:

<?php require_once($_SERVER['DOCUMENT_ROOT'].'/monfichierxml.xml') ?>


J'y accède mais malheuresement j'ai une erreur :

Citation:

Parse error: parse error in f:\monsite\monfichierxml.xml on line 1



Voici les premières lignes de monfichierxml.xml
Code:

<?xml version="1.0" encoding="ISO-8859-1"?>
<?xml-stylesheet type="text/xsl" href="updates.xslt" ?>
<rss version="2.0">
    <channel>
...


Voilà, j'espère que vous m'aiderez à comprendre mon problème qui doit être suremment très simple à résoudre....

Cordialement.
Revenir en haut
Voir le profil de l'utilisateur Envoyer un message privé Visiter le site web du posteur
GerGalP
Modérateur
Modérateur


Inscrit le: 15 Fév 2005
Messages: 1949
Localisation: Lyon, France

Forum informatique FORUM sur l'Informatique, forum internet, forum emploi, la musique, le cinéma, les DIVX, les DVD, les séries, les bandes dessinées, les livres, la photographie.Posté le: Jeu Juin 28, 2007 11:54 am    Sujet du message: Répondre en citant

c'est dans le fichier php.ini (config de php)

mets le paramètre short_open_tag à off

voilà, stout Razz
Revenir en haut
Voir le profil de l'utilisateur Envoyer un message privé Visiter le site web du posteur
darkreal
PentiumII-233
PentiumII-233


Inscrit le: 14 Mar 2006
Messages: 478
Localisation: A la fois Mars et Hyrule

Forum informatique FORUM sur l'Informatique, forum internet, forum emploi, la musique, le cinéma, les DIVX, les DVD, les séries, les bandes dessinées, les livres, la photographie.Posté le: Ven Juin 29, 2007 5:00 pm    Sujet du message: Répondre en citant

sauf que je programme depuis free.fr, je n'ai pas accès à la configuration du serveur...

Donc doit forcément y avoir une manip quelque part....
Revenir en haut
Voir le profil de l'utilisateur Envoyer un message privé Visiter le site web du posteur
GerGalP
Modérateur
Modérateur


Inscrit le: 15 Fév 2005
Messages: 1949
Localisation: Lyon, France

Forum informatique FORUM sur l'Informatique, forum internet, forum emploi, la musique, le cinéma, les DIVX, les DVD, les séries, les bandes dessinées, les livres, la photographie.Posté le: Sam Juin 30, 2007 1:07 pm    Sujet du message: Répondre en citant

sinon, tu peux utiliser des trucs du genre :

Code:

// exécuter un script contenu dans du xml :

eval(file_get_contents($_SERVER['DOCUMENT_ROOT'] . '/monfichierxml.xml'));

// ou afficher le contenu d'un xml

echo file_get_contents($_SERVER['DOCUMENT_ROOT'] . '/monfichierxml.xml');


c'est plus propre que le require ou l'include pour la 2e solution
Revenir en haut
Voir le profil de l'utilisateur Envoyer un message privé Visiter le site web du posteur
darkreal
PentiumII-233
PentiumII-233


Inscrit le: 14 Mar 2006
Messages: 478
Localisation: A la fois Mars et Hyrule

Forum informatique FORUM sur l'Informatique, forum internet, forum emploi, la musique, le cinéma, les DIVX, les DVD, les séries, les bandes dessinées, les livres, la photographie.Posté le: Dim Juil 01, 2007 11:32 am    Sujet du message: Répondre en citant

Pour la solution 1 j'ai l'erreur :
Citation:

Parse error: syntax error, unexpected '<' in E:\monsite\index.php(39) : eval()'d code on line 1


Pour la solution 2, j'ai du texte brut qui s'affiche et qui ne prend pas en compte mon updates.xslt

Ou est le souci ?
Revenir en haut
Voir le profil de l'utilisateur Envoyer un message privé Visiter le site web du posteur
GerGalP
Modérateur
Modérateur


Inscrit le: 15 Fév 2005
Messages: 1949
Localisation: Lyon, France

Forum informatique FORUM sur l'Informatique, forum internet, forum emploi, la musique, le cinéma, les DIVX, les DVD, les séries, les bandes dessinées, les livres, la photographie.Posté le: Dim Juil 01, 2007 1:01 pm    Sujet du message: Répondre en citant

pour la solution 1, j'ai lu un peu plus en détails la doc, je crois que ca devrait marcher avec ca :

Code:
eval(' ?>' . file_get_contents($_SERVER['DOCUMENT_ROOT'] . '/monfichierxml.xml') . '<?php ');


pour la solution2, c'est que tu n'as pas spécifié le bon type mime au client, il faut lui spécifier le type text/xml ou un de ses dérivés :

Code:
header('Content-Type: text/xml');


la fonction header() doit être appelée en tout début de script

pour la doc d'eval() : http://fr2.php.net/manual/fr/function.eval.php
Revenir en haut
Voir le profil de l'utilisateur Envoyer un message privé Visiter le site web du posteur
darkreal
PentiumII-233
PentiumII-233


Inscrit le: 14 Mar 2006
Messages: 478
Localisation: A la fois Mars et Hyrule

Forum informatique FORUM sur l'Informatique, forum internet, forum emploi, la musique, le cinéma, les DIVX, les DVD, les séries, les bandes dessinées, les livres, la photographie.Posté le: Lun Juil 02, 2007 11:35 am    Sujet du message: Répondre en citant

La solution 1 fonctionne mieux mais elle donne le même résultat que la solution 2 (texte brut)

C'est le même problème que la solution 2 je supose, mais je ne comprends pas ou il faut placer ce
Code:

header('Content-Type: text/xml');

?

Merci
Revenir en haut
Voir le profil de l'utilisateur Envoyer un message privé Visiter le site web du posteur
GerGalP
Modérateur
Modérateur


Inscrit le: 15 Fév 2005
Messages: 1949
Localisation: Lyon, France

Forum informatique FORUM sur l'Informatique, forum internet, forum emploi, la musique, le cinéma, les DIVX, les DVD, les séries, les bandes dessinées, les livres, la photographie.Posté le: Lun Juil 02, 2007 12:44 pm    Sujet du message: Répondre en citant

la fonction header() permet de modifier les options contenues dans l'en-tête de la réponse HTTP.

le HTTP est un protocole en mode texte, tout est envoyé à la suite et lisible par un humain (en-têtes comme données). seulement, l'en-tête (comme son nom l'indique) doit être envoyé en premier, c'est pourquoi tu dois appeler la fonction header() avant que tu n'envoies le premier octet au client, qu'il provienne d'un echo ou d'un espace avant le premier <?php

pour comprendre plus en détails ce qu'il se passe, tu peux utiliser telnet : tu peux par exemple télécharger la page de garde de google et voir comment ca se passe.

avec une ligne de commandes windows, démarres telnet :
Code:
telnet www.google.fr 80


puis, tapes

Code:
GET / HTTP/1.1
Host: www.google.fr



(n'oublies pas le double retour à la ligne à la fin)

le serveur te répondra(en simplifiant) :
Code:

HTTP/1.1 200 OK
Content-Type: text/html

<html>
<head>[[contenu de la page...]]
Revenir en haut
Voir le profil de l'utilisateur Envoyer un message privé Visiter le site web du posteur
Montrer les messages depuis:   
integrer un xml sur une page pour un flux RSS 2    integrer un xml sur une page pour un flux RSS 2

 
Sauter vers:  
Vous ne pouvez pas poster de nouveaux sujets dans ce forum
Vous ne pouvez pas répondre aux sujets dans ce forum
Vous ne pouvez pas éditer vos messages dans ce forum
Vous ne pouvez pas supprimer vos messages dans ce forum
Vous ne pouvez pas voter dans les sondages de ce forum


Dual Forum  Hit-Parade