Précédent   Forum des professionnels en informatique > Webmasters - Développement Web > AJAX
AJAX Forum sur la programmation AJAX. Avant de poster : Cours AJAX, FAQ AJAX, Toutes les FAQ JavaScript
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 10/02/2008, 18h06   #1
Invité de passage
 
Inscription : février 2008
Messages : 1
Détails du profil
Informations forums :
Inscription : février 2008
Messages : 1
Points : 0
Points : 0
Par défaut traitement xml problematique

Salut à tous.
voilà je développe une chtite page html-javascript qui va me chercher un rss (xml), le traite, et m'affiche les données dans un tableau.
jusque là aucun soucis, je me débrouille plus ou moins correctement.
seulement j'ai un problème avec la récup de certains éléments.
je m'explique:

voilà la tête du xml (extension .html je précise):

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
<?xml version="1.0" encoding="iso-8859-1" ?>
<rss version="2.0">
<channel>
<title>title</title>
<link>lien</link>
<description>desc</description>
<language>fr-fr</language>
<copyright>Copyright 2007</copyright>
<webMaster>webmaster@site.com</webMaster>
<pubDate>Sat, 09 Feb 2008 19:43:43 +0100</pubDate><item>
   <title> title1</title>
   <link>lien1</link>
   </item><item>
   <title> title2</title>
   <link>lien2</link>
   </item><item>
   <title> title3</title>
   <link>lien3</link>
   </item><item>
   <title> title4</title>
   <link>lien4</link>
   </item><item>
   <title> title5</title>
   <link>lien5</link>
   </item><item>
   <title> title6</title>
   <link>lien6</link>
   </item><item>
   <title> title7</title>
   <link>lien7</link>
   </item></channel>
	</rss>
et voilà la partie de code javascript qui récupère les infos:
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
function afficher(){
	document.getElementById("img").src = "./mktpow.gif";
	if (window.XMLHttpRequest){
		req = new XMLHttpRequest();     //  Firefox, Safari, ...
	} else {
		if (window.ActiveXObject){
			req = new ActiveXObject("Microsoft.XMLHTTP");   // Internet Explorer 
		} else {
			document.getElementById("status").innerHTML = "votre navigateur est tout pourri.";
		}
	}
 
	req.open('GET', './cat-6.html', true);
		var reponse;
		req.onreadystatechange  = function() {
			if(req.readyState  == 4) {
				if(req.status  == 200){
					reponse = req.responseText;
					var responseHTML = document.createElement("docXML");
					responseHTML.innerHTML = reponse;
					var listeItems = responseHTML.getElementsByTagName("item");
					for (var i = 0; i < listeItems.length; i++){
						//Traitement des titres
						var titreTab = listeItems.item(i).getElementsByTagName("title");	//on récupère le tableau des titres, de taille 1 (1 titre par item)
						var titreTmp = titreTab.item(0).firstChild.nodeValue;				//récup de la valeur du 1er (et seul) element du tableau
						var finTitre = titreTmp.length;
						var titre = titreTmp.substring(1, finTitre);						//le titre commence par un espace qu'on dégage
 
						//Traitement des liens
						var lienTab = listeItems.item(i).getElementsByTagName('link');		//taille du tableau:1 (1 lien par item)
						var lienTmp1 = lienTab.item(0);										//lienTmp1 existe.
						var lienTmp2 = lienTmp1.firstChild;									
						if (lienTmp2) {alert("ok");}
						else {alert("pasok");}
pour le titre, aucun problème, ça marche nickel.
au début j'ai donc appliqué exactement la meme methode pour la récup du lien.
seulement ça ne marchait pas.
j'ai donc fait ça étape par étape (1 variable par etape), et le chti test à la fin me renvoit "pasok", style y'a kedall dans les elements lien.

passablement enervé , j'ai revu mon fichier html/xml, et j'ai remplacé <link></link> par <plouf></plouf>.
et là, ben ça marche, le test renvoit "ok".

donc au niveau de la logique, je suis totalement largué :
pourquoi ça marche avec "plouf", et pas avec "link"???
Hellmut est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 07h51.


 
 
 
 
Partenaires

Hébergement Web