XML browserunabhängig Parsen

olqs

Erfahrenes Mitglied
Hallo,

ich habe ein kleines Problem auf Daten eines XML Objekts zugreifen zu können:
Ziel ist in einer Webseite dynamisch eine select box zu füllen, je nachdem was man in einer anderen Selectbox ausgewählt hat.

Was bereits geht:
Bei einer Auswahl in der Selectbox wird eine XML Datei per xmlHttp Request geholt. Das funktioniert auch browserunabhängig.

Jetzt versuche ich auf einzelne Elemente im XML zuzugreifen:
Code:
function getxml (item,referer) {
  xmlHttp.open('get','./getxml.php?item='+item+'&referer='+referer.id+'&id='+referer.value,false);
  xmlHttp.send(null);
  alert (xmlHttp.responseText);
  return xmlHttp.responseXML;
}

Im alert Fenster wird mir der gewünschte Inhalt angezeigt:
Code:
<?xml version="1.0" ?>
<array>
  <row>
    <pk>1</pk>
    <name>Zentrale</name>
  </row>
  <row>
    <pk>2</pk>
    <name>Filiale</name>
  </row>
</array>

Über folgenden Code greife ich auf das zurückgegebene XML zu:
Code:
xml=getxml(listbox,referer);
xmlrows=xml.getElementsByTagName("row");
alert(xmlrows[0].getElementsByTagName("name")[0].firstChild.nodeValue);

Im Firefox bekomme ich ein schönes Hinweisfenster in dem Zentrale steht. Im IE hingegen läuft das JS auf den Fehler:
Code:
'xmlrows.0' ist Null oder kein Objekt

Was mach ich hier falsch?

Gruss
Alex
 
Zuletzt bearbeitet:
Hat sich erledigt. Der Thread gab den entscheidenden Hinweis.

Der Fehler lag im php Skript das die xml Datei erzeugt. Hatte dort im Header den falschen Content-Type gesetzt :(
Ich dachte application/xhtml+xml würd ausreichen, aber nach setzen auf application/xml geht jetzt auch alles.
 
Zurück