Bonjour à tous,

Je viens vers vous à la recherche d'une bouée de sauvetage !

Je souhaite faire un bandeau déroulant contenant des infos (style BFMTV)

J'ai fais ceci:

!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>jQuery RSS Reader</title>

<link rel="stylesheet" type="text/css" href="li-scroller.css" />

<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js" ></script>
<script type="text/javascript" src="js/jquery.li-scroller.1.0.js"></script>
<script type="text/javascript">
$(function(){
    $("ul#ticker01").liScroll();
});
</script>
</head>

<body>

<?php

$feed = file_get_contents('http://www.neoscreen.fr/meteo/rss/france.xml');
$xml1 = simplexml_load_string($feed);

$actu[1] = $xml1->xpath("//channel/item[1]/title");
$actu[2] = $xml1->xpath("//channel/item[2]/title");
$actu[3] = $xml1->xpath("//channel/item[3]/title");
$actu[4] = $xml1->xpath("//channel/item[4]/title");
$actu[5] = $xml1->xpath("//channel/item[5]/title");
$actu[6] = $xml1->xpath("//channel/item[6]/title");
$actu[7] = $xml1->xpath("//channel/item[7]/title");
$actu[8] = $xml1->xpath("//channel/item[8]/title");
$actu[9] = $xml1->xpath("//channel/item[9]/title");
$actu[10] = $xml1->xpath("//channel/item[10]/title");
$actu[11] = $xml1->xpath("//channel/item[11]/title");
$actu[12] = $xml1->xpath("//channel/item[12]/title");
$actu[13] = $xml1->xpath("//channel/item[13]/title");
$actu[14] = $xml1->xpath("//channel/item[14]/title");
$actu[15] = $xml1->xpath("//channel/item[15]/title");
$actu[16] = $xml1->xpath("//channel/item[16]/title");
$actu[17] = $xml1->xpath("//channel/item[17]/title");
$actu[18] = $xml1->xpath("//channel/item[18]/title");
$actu[19] = $xml1->xpath("//channel/item[19]/title");
$actu[20] = $xml1->xpath("//channel/item[20]/title");

?>

<div class="tickercontainer0">
<div class="logo"><img src="ca_toulouse.png"/></div>
<div class="tickercontainer">
<div class="mask">
<ul id="ticker01">
    <?php 

    for ($i = 1; $i < 21; $i++)
    {

    echo '<li><a href="#">'.html_entity_decode($actu[$i][0]).'<font color="red" size="6"> ||</font></li>';

}

?>

    <!-- eccetera -->
</ul>
</div>
</div>
</div>
</body>
</html>

Cependant je ne dois pas utiliser de PHP,

Comment faire ?

Je vous remercie de votre aide qui me sera plus que précieuse

3 réponses


Tu devra forcement utiliser du PHP pour lire le flux XML. Par contre dans ta vue, tu peux simplement faire un appel ajax et récupérer les données, et les traiter en js

Bonjour,
Il est possible de trouver des librairie js permettant de parcourir un flux xml avec xPath.
Il existe également des librairies permettant de transformer le xml en json et du coup travailler uniquement avec des objets js.

Ces 2 solutions demandent cependant de pouvoir récupérer en ajax le flux RSS ( /!\ Cross Domaine).
Si la volumétrie est importante, il faudra également se pencher sur une comparaison de performance.

Cordialement

Antho

Salut,

Tu peux, comme le dis @antho07, utiliser une lib pour parser le XML (jQuery intègre une fonction pour cela https://api.jquery.com/jQuery.parseXML/).

Quels technos peux-tu utiliser ? Regardes aussi du côté de NodeJS et des streams.