Wie XML per JS im IE verarbeiten?
Sandra
- javascript
0 Inspektor DOM0 Sandra
0 svg4you0 MudGuard
0 Sandra
Hallo ihr,
ich versuche grad ne Webapplikation auf AJAX umzustellen und muss dazu natürlich ein XML-Dokument verarbeiten. Bisher mache ich das so:
...
var xmlDoc = request.responseXML;
var xmlRoot = xmlDoc.firstChild;
var myAttribute = xmlRoot.getAttribute("test");
...
Funktioniert auch einwandfrei im Firefox. Nur der IE macht da nicht mit. Bei ihm ist xmlRoot "null" und somit "getAttribute("test")" nicht möglich. Meine Frage lautet also: wie verarbeite ich XML im IE? Anscheinend nicht mit den DOM-Methoden wie im FF. Gibts irgendwo ne API für die Verarbeitung im IE. Vielleicht bin ich zu dumm, aber ich find im Netz nichts entsprechendes...
Liebe Grüße,
Sandra
Hallo ihr,
Hallo Du,
Funktioniert auch einwandfrei im Firefox. Nur der IE macht da nicht mit. Bei ihm ist xmlRoot "null" und somit "getAttribute("test")" nicht möglich. Meine Frage lautet also: wie verarbeite ich XML im IE? Anscheinend nicht mit den DOM-Methoden wie im FF.
Das DOM ist schon dasselbe, aber der IE braucht ein ActiveX-Objekt, um XML einlesen zu können.
Liebe Grüße,
Sandra
lg
ID
Das DOM ist schon dasselbe, aber der IE braucht ein ActiveX-Objekt, um XML einlesen zu können.
Hmm, ich glaub schon dass ich das richtig mache, oder? Nämlich so:
AjaxRequest.getXmlHttpRequest = function() {
if (window.XMLHttpRequest) {
alert("0");
return new XMLHttpRequest();
}
else if (window.ActiveXObject) {
// Based on http://jibbering.com/2002/4/httprequest.html
/*@cc_on @*/
/*@if (@_jscript_version >= 5)
try {
alert("1");
return new ActiveXObject("Msxml2.XMLHTTP");
} catch (e) {
try {
alert("2");
return new ActiveXObject("Microsoft.XMLHTTP");
} catch (E) {
alert("3");
return null;
}
}
@end @*/
}
else {
alert("4");
return null;
}
};
Beim IE wird hier zuerst "1" ausgegeben. Also sollte ich schon ein ActiveXObject habe, oder???
Tach Sandra,
Nur der IE macht da nicht mit. Bei ihm ist xmlRoot "null" und somit "getAttribute("test")" nicht möglich. Meine Frage lautet also: wie verarbeite ich XML im IE? Anscheinend nicht mit den DOM-Methoden wie im FF.
Das sollte grundsätzlich analog funktionieren, allerdings nicht beim file-Zugriff auf lokale Ressourcen. In diesem Fall bietet sich die Abfrage von responseStream an.
Man liest sich,
svg4you
Hi,
ich versuche grad ne Webapplikation auf AJAX umzustellen und muss dazu natürlich ein XML-Dokument verarbeiten. Bisher mache ich das so:
...
var xmlDoc = request.responseXML;
var xmlRoot = xmlDoc.firstChild;
var myAttribute = xmlRoot.getAttribute("test");
...
Welchen Content-Type liefert der Server für die per AJAX angeforderte Ressource?
cu,
Andreas
Hi,
hätte dein Posting fast übersehen. Der Server liefert text/xml, also schon das richtige. Das Problem war, dass ich vom XML-Document mit firstChild zur Root wollte. Beim FF gings, IE hat den XML header als firstChild interpretiert. Sorry, mein Fehler. DANKE für eure Mühen.
Sandra