DOM XML

  • Créateur du sujet Créateur du sujet xcode
  • Date de début Date de début
A

Anonyme

Invité
Bloc de code:
function relevMess () {
		if (window.XMLHttpRequest) xhr = new XMLHttpRequest();
		else if (window.ActiveXObject) xhr = new ActiveXObject("Microsoft.XMLHTTP");
		else alert("AJAX n'est pas présent");
		xhr.onreadystatechange = function () {
			if ((xhr.readyState == 4) && (xhr.status == 200)) {
				var xmlRep = xhr.responseXML;
				if (xmlRep.getElementsByTagName('NOMORE').length != 1) {
					lastTimeRelev = parseInt(xmlRep.getElementsByTagName('LASTIME').innerText);
					tabMess = xmlRep.getElementsByTagName('MESSAGE');
					for (var i = 0; i < tabMess.length; i++) {
						var messageOther = $('<div/>').attr('class', 'divMessageOther');
						var pseudo = tabMess.getElementsByTagName('PSEUDO')[0].innerText;
						var dateMess = tabMess.getElementsByTagName('TIME')[0].innerText;
						messageOther.append($("<p class='entetemess'>" + pseudo + " à " + dateMess + "<p>"));
						divDiscut.append(messageOther);
					}
				}
			}
		}
		xhr.open('GET', 'PHP_ajax.php?t=' + tokenV + '&opp_ajax=tchatRecup&lastime=' + lastTimeRelev, true);
		xhr.send(null);
		setTimeout(relevMess, 2000);
	}
Il me met une erreur là
Bloc de code:
var pseudo = tabMess.getElementsByTagName('PSEUDO')[0].innerText;var dateMess = tabMess.getElementsByTagName('TIME')[0].innerText;

Merci d'avance
 
Désolé pour le peu d'infos, j'étais en retard...

Donc, dans l'objet 'document', quand on fait 'getElementsByTagsName()', on a un tableau de nodes. Et sur un node, on peut refaire 'getElementsByTagsName()' pour récupérer des nodes enfants de ce node...
Mais sur le DOM retourné par le fonction 'responseXML()' de mon XMLHttpRequest, on ne peut pas le faire sur un node, uniquement sur tout le document XML :(
Pour info, mon fichier XML récupéré par 'responseText()':
Bloc de code:
<?xml version="1.0" encoding="UTF-8"?>
<root>
[INDENT]<LASTIME>1307563800</LASTIME>
<MESSAGE>
[INDENT]<PSEUDO>coucou</PSEUDO>
<TIME>0:00:00</TIME>
<TXT>ça marche</TXT>[/INDENT]
</MESSAGE>[/INDENT]
</root>
Est-ce une limitation du DOM ? :hein:
Merci d'avance :zen:

PS: Pour l'erreur il me met que la fonction n'existe pas =_='