Posez votre question Signaler

XHTML Ajax et RSS [Résolu]

Cadavre 13Messages postés 12 novembre 2006Date d'inscription - Dernière réponse le 10 juin 2008 à 08:42
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!!
Lire la suite 

XHTML Ajax et RSS »

Suggestions
1 réponses
Réponse
+0
moins plus
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;
[...]
Ajouter un commentaire
Ce document intitulé « XHTML Ajax et RSS » issu de CommentCaMarche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.
Dossier à la une
5 extensions si vous voulez revenir à l'ancien Facebook