Hallo Christian,
da hilft - wie so oft - nur ein schrittweises Analysieren.
Aus der Kalten kann ich dir auch nicht weiterhelfen, dazu müsstest du mal posten
wie du dein responseXML
Object erzeugst. Hilfreich wäre natürlich auch das
passende XML dazu. Ich glaube nämlich, dass responseXML gar kein Objekt ist.
Ich habe mit folgender XML-Datei:
files/news.xml Code:
<?xml version="1.0" encoding="utf-8" ?>
<news>
<entrys>
<entry>
<headline>News-Headline1</headline>
<content>Inhalt1 12345</content>
</entry>
<entry>
<headline>News-Headline2</headline>
<content>Inhalt2</content>
</entry>
</entrys>
</news>
folgendes probiert:
js/script.js Code:
window.onload = function(){
/* Funktion erzeugt das HTTP-Objekt */
function makeHTTPObject() {
try {return new XMLHttpRequest();}
catch (error) {}
try {return new ActiveXObject("Msxml2.XMLHTTP");}
catch (error) {}
try {return new ActiveXObject("Microsoft.XMLHTTP");}
catch (error) {}
throw new Error("Could not create HTTP request object.");
}
/* Objekt erzeugen */
var request = makeHTTPObject();
/* XML-Datei asyncron laden (und etwas senden ...) */
request.open("GET", "files/news.xml", true);
request.send(null);
/* auf den Request warten */
request.onreadystatechange = function() {
// readyState 4 = fertig geladen
if (request.readyState == 4)
// request ausgeben
alert("Inhalt von request:\n"+request.responseText);
};
/* ACHTUNG! dieser Code wird schon ausgeführt,
während die XML-Datei noch geladen wird !!! */
alert("Außerhalb der onreadystatechange function:\n"+
request.responseText);
}
Ergebnis (Opera, FireFox, IE 6):
Code:
<?xml version="1.0" encoding="utf-8" ?>
<news>
<entrys>
<entry>
<headline>News-Headline1</headline>
<content>Inhalt1 12345</content>
</entry>
<entry>
<headline>News-Headline2</headline>
<content>Inhalt2</content>
</entry>
</entrys>
</news>
Damit wäre also sichergestellt, dass das request-Object auch die XML-Datei enthält - ein wichtiger Schritt den ich oft vergesse.