Rechercher : dans
Par :

XHTML Ajax et RSS

Dernière réponse le 10 jun 2008 à 08:42:10 Cadavre, le 8 jun 2008 à 20:01:39 
 Signaler ce message aux modérateurs

Bonjour,
j'essaie depuis plusieurs heures de simplement prendre un flux RSS tel que celui du journal LeDevoir disponible à cette adresse "ledevoir.com/rss/ledevoir.xml" et de traiter seulement 2 champs soit Title et Description. Et jusqu'à maintenant si je traite seulement la balise Title tout fonctionne bien. Mais dès que j'essaie de traiter les 2 balises XML qui m'intéressent, alors ma page XHTML n'affiche plus rien ! Voici mon code XHTML en question:

Test.xhtml

<?xml version="1.0" encoding="ISO-8859-1" ?>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>

<title>LeDevoir</title>

<script language="JavaScript">

function chargeDocument(URI) {
try {

xmlhttp = new XMLHttpRequest();
xmlhttp.open("GET", URI,true);
xmlhttp.onreadystatechange=function() {
if (xmlhttp.readyState==4) {
affiche(xmlhttp.responseXML);
}
}
xmlhttp.send(null);
} catch(o) {alert(o);}
}

function affiche(doc) {

elementol = document.createElement("ol");
var allitems = doc.getElementsByTagName("item");
for (var i=0; i < allitems.length; i++) {
var itemElm = allitems[i];
var titreElm = itemElm.getElementsByTagName("title").item(0);
var titleText = titleElm.firstChild.nodeValue;
var DescripElm = itemElm.getElementsByTagName("description").item(0);
var DescripText = DescripElm.firstChild.nodeValue;

elementli = document.createElement("li");

var txtNode = document.createTextNode(titleText);
elementli.appendChild(document.createTextNode(txtNode));

elementol.appendChild(elementli);

body = document.getElementsByTagName("body").item(0);
body.appendChild(elementol);
}
}
</script>
</head>
<body>
<ul>
<li><a href="javascript:chargeDocument('ledevoir.xml');">
Récupère et affiche le titre et la description.</a></li>
</ul>
</body>
</html>

Comme vous pouvez le voir, je ne cherche pas à faire quoi que ce soit de compliquer. Je veux simplement identifier la valeur de 2 balises pour chaque item et en afficher leur contenu respectif. Alors, toute aide serait vraiment appréciée!!

Configuration: Windows XP
Firefox 2.0.0.14

Meilleures réponses pour « XHTML Ajax et RSS » dans :
Agrégateurs RSS (lecteurs de fils RSS) VoirAgrégateurs RSS (lecteurs de fils RSS) Présentation générale des flux RSS Principaux agrégateurs RSS Agrégateurs RSS online Présentation générale des flux RSS Le standard RSS représente un moyen d'être tenu informé des nouveaux contenus...
[Webmaster] Créer son flux RSS VoirCréer votre flux RSS permettra aux internautes qui consultent votre site d'être immédiatement informé des mises à jour. C'est important: Il semble qu'une certaine catégorie d'internautes ne visitent même plus les sites qui n'ont pas de flux...
Les flux RSS pour l'entreprise VoirUsages des flux rss pour l'entreprise Le développement du Web 2.0 (un Internet plus participatif et réactif), offre aux entreprises avec les flux RSS un outil majeur dans leurs stratégies marketing. Les flux RSS sont également des éléments...
RSS - Syndication de contenu VoirIntroduction au RSS Le standard RSS représente un moyen simple d'être tenu informé des nouveaux contenus d'un site web, sans avoir à le consulter. Le format « RSS » (traduisez « Really Simple Syndication ») permet ainsi de décrire de façon...
AJAX (Asynchronous Javascript And XML) VoirIntroduction à AJAX AJAX (Asynchronous Javascript And XML, traduisez Javascript asynchrone et XML) est une méthode de développement web basée sur l'utilisation d'un script Javascript pour effectuer des requêtes web à l'intérieur d'une page web...
Les standards RSS VoirLe standard RSS Un flux RSS est un simple fichier texte contenant des informations structurées au format XML, permettant de décrire de façon fine le contenu du canal et de chacun des items qui le constituent. Il existe plusieurs versions du...

1

 Cadavre, le 10 jun 2008 à 08:42:10

J'ai trouvé une solution. La voici en quelques lignes:

[...]
var items_count=doc.getElementsByTagName('item').length;
var title=new Array(), description=new Array(), link = new Array();
[...]
for (var i=0; i < items_count; i++) {
if(doc.getElementsByTagName('item')[i].getElementsByTagName('title').length==1)
title[i]=doc.getElementsByTagName('item')[i].getElementsByTagName('title')[0];

if(doc.getElementsByTagName('item')[i].getElementsByTagName('description').length==1)
description[i]=doc.getElementsByTagName('item')[i].getElementsByTagName('description')[0];
}
[...]
for (var i=0; i < items_count; i++) {

var descrip_w, title_w, link_w;
title_w = title[i].firstChild.nodeValue;
descrip_w = description[i].firstChild.nodeValue;
[...]

Répondre à Cadavre
Collection CommentÇaMarche.net