Integrer un flux xml brut ?

comparef
WRInaute impliqué
WRInaute impliqué
 
Messages: 504
Inscription: 5 Avr 2005

Integrer un flux xml brut ?

Message le Lun Mar 20, 2006 17:36

Bonjour,

Je me suis inscrit sur la plateforme ClickInText, et j'essai d'intégrer leurs liens sponsorisé XML.

L'adresse qu'ils me donne est http://fr.xml.clickintext.net/?v=0.9&a= ... &q=annonce .

J'ai essayé d'insérer a mes page ces résultats XML via plusieurs outils (magpierss et sur le site http://www.actifpub.com) mais rien a faire ce n'est pas interprété et rien ne s'affiche.
En contactant le support technique de clickintext ils m'ont dit qu'il ne s'agissait pas d'un flux au format rss, qu'il s'agissait d'un flux xml brut
selon aucun autre standard que le xml... mais je suis débutant dans tout ce qui concerne le XML et le RSS donc ca ne m'aide pas beaucoup....

Est ce que quelqu'un pourrait m'éclairer sur la façon d'insérer le contenu XML de cette page dans les pages de mon site ?

Merci d'avance pour votre aide,
Robin


correiaj
WRInaute passionné
WRInaute passionné
 
Messages: 1110
Inscription: 25 Avr 2005

Message le Lun Mar 20, 2006 23:06

xml etant un langage, il faut signaler au browser qu'il s'agit d'une page xml. Tu peux soit inclure une iframe dont la page de base est ce fichier xml, ou bien utiliser des fonctions (php par exemple) qui génere du code html a partir de code xml.

comparef
WRInaute impliqué
WRInaute impliqué
 
Messages: 504
Inscription: 5 Avr 2005

Message le Mer Mar 22, 2006 6:15

Ok, merci pour ta reponse, je vais donc chercher cette fonction PHP.

A+
RObin

spidetra
WRInaute passionné
WRInaute passionné
 
Messages: 1500
Inscription: 7 Juil 2003

Message le Mer Mar 22, 2006 8:40

comparef a écrit:Ok, merci pour ta reponse, je vais donc chercher cette fonction PHP.

A+
RObin


Tu as plusieurs possibilités :
- faire une feulle de style XSLT
- en php5 : utiliser simpleXML
- en php4/php5 : tu dois avoir des librairies Sax et DOM ou XSLT
La doc php : DOM

ma préférence va clairement pour le couple XML/XSLT. Je ne suis pas sûrs que ce soit le meilleur choix en PHP.
A voir avec les pro du php ce qu'ils choisiraient comme solution

comparef
WRInaute impliqué
WRInaute impliqué
 
Messages: 504
Inscription: 5 Avr 2005

Message le Ven Mar 24, 2006 21:58

Merci pour ta reponse,

Et y a t il des "pro du PHP" qui pourrais donner leur avis ?

Merci d'avance

comparef
WRInaute impliqué
WRInaute impliqué
 
Messages: 504
Inscription: 5 Avr 2005

Message le Mer Mar 29, 2006 6:10

Merci pour vos reponses, j'ai trouvé un script qui me permet d'afficher le flux
(Je le met ici, ca pourrait servir a quelqu'un)
Code: Tout sélectionner
# Configuration

$fichier_xml = "http://..."; // Placez ici l'adresse du flux
$nombre_limite = 5; // Nombre maximum d'éléments à afficher


# Affichage du Flux
$file = fopen($fichier_xml,"r");
if ($file) {
while (!feof($file)) $raw .= fread($file,32000);
fclose( $file );

if(eregi("<result>(.*)</result>",$raw,$rawitems)){
$items = explode("<result>", $rawitems[0]);
$nb = count($items);
$maximum = (($nb-1) < $nombre_limite) ? ($nb-1) : $nombre_limite;

for ($i=0;$i<$maximum;$i++) {
eregi("<title>(.*)</title>",$items[$i+1], $title);
eregi("<url>(.*)</url>",$items[$i+1], $link);

echo $title[1].$link[1];

bannech
Nouveau WRInaute
Nouveau WRInaute
 
Messages: 1
Inscription: 28 Avr 2006

Message le Ven Avr 28, 2006 12:32

Bonjour, est ce que quelqu'un pourrait m'expliquer brievement comment utiliser le script que comparef
met à notre disposition ? Merci

comparef
WRInaute impliqué
WRInaute impliqué
 
Messages: 504
Inscription: 5 Avr 2005

Message le Ven Avr 28, 2006 21:22

Il n'y a que deux parametres a definir : l'adresse du flux (fournit par Clickintext), et le nombre d'annonces a afficher.

Ensuite il suffit de coller ce script dans ta page, et d'extraire les champs necessaire avec des lignes de la forme
Code: Tout sélectionner
eregi("<url>(.*)</url>",$items[$i+1], $link);


puis tu met en forme les elements extraits dont les variables sont par exemple $link[1] pour la ligne que j'ai mis juste au dessus.

Zim'
WRInaute impliqué
WRInaute impliqué
 
Messages: 804
Inscription: 27 Avr 2006

Message le Lun Mai 01, 2006 16:41

il suffit d'utiliser MagPieRSS, avec une fonction tel que celle indiqué sur l'article de WRI par rapport a MagPieRSS en adaptant la fonction en fonction du nom des balises de formatage du fichier XML...

C'est supra simple!


pipologue
WRInaute impliqué
WRInaute impliqué
 
Messages: 592
Inscription: 27 Mai 2004

Message le Mar Mai 02, 2006 7:14

SimpleXML avec PHP5... très simple à utiliser.

Zim'
WRInaute impliqué
WRInaute impliqué
 
Messages: 804
Inscription: 27 Avr 2006

Message le Mar Mai 02, 2006 9:25

oui mais le nombre de personne utilisant php5 reste encore faible actuellement.


pipologue
WRInaute impliqué
WRInaute impliqué
 
Messages: 592
Inscription: 27 Mai 2004

Message le Mar Mai 02, 2006 16:08

Ils ont bien tord ;)

Zim'
WRInaute impliqué
WRInaute impliqué
 
Messages: 804
Inscription: 27 Avr 2006

Message le Mar Mai 02, 2006 23:07

peut etre pas le choix

Centrinette
Nouveau WRInaute
Nouveau WRInaute
 
Messages: 2
Inscription: 4 Mai 2006

Buse...

Message le Jeu Mai 04, 2006 10:05

Hello, je suis une buse en matière de développement et autre PHP, XML, XSLT, etc.

j'ai moi aussi un flux xml à intégrer dans un site. Ce flux est du xml brut semble-t-il (j'ai essayé avec toutes sortes de systèmes d'intégration RSS comme MagpiRSS, feedlist ou autre mais ça ne fonctionne pas). Je voudrais donc tester le bout de code plus haut. Par contre je n'ai aucune idée des balises qu'il faut que je mette avant et après pour que ça fonctionne.

QQ'un aurait-il l'obligeance d'aider une buse ? ;-)
merci !

Pour plus de précision, je vous donne la structure du flux xml en question :


<ftvvideolist xsi:schemaLocation="l'adresse du flux">

<videolisting date="sa date">

<programme>
<title>son titre</title>
<date>sa date</date>

<description>
sa description
</description>
<imageurl>l'url de l'image</imageurl>
<videourl>un javascript</videourl>
</programme>


Encore merci de votre aide...

comparef
WRInaute impliqué
WRInaute impliqué
 
Messages: 504
Inscription: 5 Avr 2005

Message le Dim Mai 07, 2006 6:59

Bonjour,

En fait c'est tres simple, apres avoir collé le bout de code donné tout en haut,

Si tu veux extraire par exemple le titre et la date, tu met cela :
Code: Tout sélectionner
eregi("<titre>(.*)</titre>",$items[$i+1], $titre);
eregi("<date>(.*)</date>",$items[$i+1], $date);

Et ensuite pour afficher tu fait un simple echo de la maniere suivante :
Code: Tout sélectionner
echo 'le titre : '.$titre[1].' et la date : '.$date[1];


Bon courage,

Robin

Integrer un flux xml brut ?

Si vous avez aimé cette discussion, partagez-la sur vos réseaux sociaux préférés :

Lectures recommandées sur ce thème :



Qui est en ligne

Utilisateurs parcourant ce forum: kenzen et 0 invités