AJAX: Problem beim Einlesen der XML Daten

valkuere

Mitglied
Hallo,

ich bastel an einem Liveticker. Per AJAX sollen alle x-Minuten aktuelle Daten aus der DB geholt und in eine XML-Datei abgelegt werden.
In JS sollen die Inhalte der XML-Datei dann ausgelesen werden und in einem div-Container angezeigt werden.

Hier der relevante Code:

Code:
function liveticker_ergebnisse()
{
	var ergebnis = '<p class=\'fetter\'> Alle Spiele </p>';
	if(xmlHttp.readyState == 4)
	{
		if(xmlHttp.status == 200)
		{
			var dokuXML = xmlHttp.responseXML;
			for(var i=0; i<dokuXML.getElementsByTagName("eineNachricht").length; i++)
			{
				var ele = dokuXML.getElementsByTagName("eineNachricht")[i];
				var spnr = ele.getElementsByTagName("spnr")[0].cildNodes[0].nodeValue;
				var minute = ele.getElementsByTagName("spielminute")[0].cildNodes[0].nodeValue;
				var text = ele.getElementsByTagName("text")[0].cildNodes[0].nodeValue;
				var heim = ele.getElementsByTagName("heimteam")[0].cildNodes[0].nodeValue;
				var gast = ele.getElementsByTagName("gastteam")[0].cildNodes[0].nodeValue;

				ergebnis += "<table width='100%'>";
				ergebnis += "<tr><td>";
				ergebnis += "(Spiel: " + spnr + ") " + heim + " - " + gast + "</td></tr>";
				ergebnis += "<tr><td> " + minute + " </td></tr>";
				ergebnis += "<tr><td> " + text + " <hr/></tr></td>";
				ergebnis += "</table>";
			}			
		}
		else
		{
			alert("Serverfehler beim Abrufen der XML Daten");
		}
	}
	document.getElementById('content_mitte').innerHTML = ergebnis;
}

Leider sagt die JS Konsole das dokuXML keine Properties habe. Das verstehe ich aber nicht. Bewege ich mich da irgendwie Falsch im XML-Baum, oder sind die getElements-Methoden falsch?
Hat da jemand ähnliche Erfahrungen und kann mir weiter helfen?
 
Hallo...

resonseXML erhältst du nur, wenn das angeforderte Dokument wirklich ein astreines :) fehlerfreies XML-Dokument ist.

Rufe die XML-Datei mal mit dem IE oder FF direkt auf...bekommst du da eine Fehlermeldung zu sehen?
 
ja die XML-Datei ist fehlerlos.

root ist <wmnews>
darin sind <alleNachrichten>
und hierin beliebeig viele von <eineNachricht>
Da sind dann die Infos zu der News drin:
<spnr><spielminute><text><heimteam><gastteam>
Eben diese Infos will ich mir abholen. Aber irgendwie bekomme ich die nicht :S

Es gibt ja noch "responeText" aber das dann bißchen unschön.
 
Code:
<?xml version="1.0"?>
<wmnews>
	<alleNachrichten>
		<eineNachricht>
			<spnr>02</spnr>
			<spielminute>01. Minute</spielminute>
			<text>Anstoss!</text>
			<heimteam>polen</heimteam>
			<gastteam>ecuador</gastteam>
		</eineNachricht>
		<eineNachricht>
			<spnr>02</spnr>
			<spielminute>02. minute</spielminute>
			<text>grosse chance</text>
			<heimteam>polen</heimteam>
			<gastteam>ecuador</gastteam>
		</eineNachricht>
		<eineNachricht>
			<spnr>01</spnr>
			<spielminute>01. minute</spielminute>
			<text>auch hier gehts los!</text>
			<heimteam>deutschland</heimteam>
			<gastteam>italien</gastteam>
		</eineNachricht>
		<eineNachricht>
			<spnr>01</spnr>
			<spielminute>04. minute</spielminute>
			<text>ecke!</tor>
			<heimteam>deutschland</heimteam>
			<gastteam>italien</gastteam>
		</eineNachricht>
		<eineNachricht>
			<spnr>01</spnr>
			<spielminute>10.minute</spielminute>
			<text>lalalaaaaa</text>
			<heimteam>deutschland</heimteam>
			<gastteam>italien</gastteam>
		</eineNachricht>
	</alleNachrichten>
</wmnews>
 
Naja...ganz fehlerfrei ist sie dann doch nicht :)
Code:
XML-Verarbeitungsfehler: Nicht übereinstimmendes Tag. Erwartet: </text>.
Adresse: http://localhost/wm.xml
Zeile Nr. 28, Spalte 17:   <text>ecke!</tor>
----------------------------------------^
 
ups, ja die Stelle habe ich von hand eingefügt. Habe ich mich wohl verschrieben.
Sonst ist sie aber korrekt, mittels der php-DOM Befehle erstellt.
 
oh ja. natürlich...
Nun kommt es immerhin schon so weit dass sich der apache aufhängt, sobald die Serverabfrage beginnt. Da ist ganzschön der Wurm drin. Hart kodiertes kriege ich immerhin in das <div> rein. Die XML-Daten nicht :(
 
Zurück