[GastForen Programmierung/Entwicklung JavaScript Problem mit der Funktion getElementsByTagName() im IE

  • Suche
  • Hilfe
  • Lesezeichen
  • Benutzerliste
Themen
Beiträge
Moderatoren
Letzter Beitrag

Problem mit der Funktion getElementsByTagName() im IE

Canio
Beiträge gesamt: 174

27. Okt 2006, 17:43
Beitrag # 1 von 9
Bewertung:
(2234 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo,

in meinem Script lese ich ein xml-file ein, welches ich in der Variable xml_items speichere.
Dann kommen folgende Code-Zeilen:

var array = xml_items.getElementsByTagName("item");
alert(array[0]);

Beim alert krieg ich im Firefox "[object Element]" als Ausgabe, beim IE ein "null". Schreibe ich alert(array[0].nodeName), so zeigt mir Firefox den richtigen Namen des Knoten an, beim IE passiert gar nichts.

Irgendwo hab ich mal gelesen, dass die Funktion getElementsByTagName beim IE nicht richtig funktioniert, aber was benutze ich denn stattdessen? Ich bin auf den Hinweis gestoßen, es mit getElementsByTagName("item").array(i) zu versuchen, aber das geht auch nicht (Syntax scheint mir etwas seltsam).

Bitte klärt mich auf. Wie krieg ich das ganze beim IE hin?

Mal nebenbei, wo kann ich am besten nachlesen, was der IE anders macht als der Firefox?
X

Problem mit der Funktion getElementsByTagName() im IE

ganesh
Beiträge gesamt: 1981

28. Okt 2006, 13:43
Beitrag # 2 von 9
Beitrag ID: #259088
Bewertung:
(2216 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
das funktioniert sehr wohl im IE:

http://www.w3schools.com/...lementsbytagname.asp
http://www.w3schools.com/...getelementsbytagname

also muss ich annehmen, dass der Fehler woanders liegt.


als Antwort auf: [#259034]

Problem mit der Funktion getElementsByTagName() im IE

Canio
Beiträge gesamt: 174

28. Okt 2006, 20:08
Beitrag # 3 von 9
Beitrag ID: #259127
Bewertung:
(2197 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hast Recht, mittlerweile konnte ich das Problem einkreisen.

Und zwar weiß ich als Anfänger nicht, wie ich folgendes Problem umschiffen kann.

Ich kann ja per xmlhttprequest.responseXML das xml-Dokument laden, und im FF als xmldocument-object benutzen. D. h. ich kann mich an den Knoten entlanghangeln. Der IE gibt mir nur ein stinknormales Objekt aus, mit welchem ich nichts anfangen kann.
Ich kann zwar responseText benutzen, aber dann hab ich nur einen String. Den nimmt der IE.
Ich möchte aber mit responseXML arbeiten.

Also wie krieg ich es hin, dass der IE mein xml-Dokument wie der FF akzeptiert? Habe gelesen, dass der Content-Type der xml-Datei auf text/html stehen muss, aber wie genau mach ich das? Ich google und google, aber finden kann ich nichts :(


als Antwort auf: [#259088]

Problem mit der Funktion getElementsByTagName() im IE

ganesh
Beiträge gesamt: 1981

29. Okt 2006, 00:10
Beitrag # 4 von 9
Beitrag ID: #259145
Bewertung:
(2193 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Nein, der Content-Type einer XML-Datei muss natürlich text/xml lauten, nicht text/html. Den entspr. Header kannst du z.B. mit PHP explizit angeben. Für die Codierung empfiehlt sich UTF-8.


als Antwort auf: [#259127]

Problem mit der Funktion getElementsByTagName() im IE

Canio
Beiträge gesamt: 174

29. Okt 2006, 20:20
Beitrag # 5 von 9
Beitrag ID: #259218
Bewertung:
(2178 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Sorry, hab mich verschrieben. Ich meinte natürlich auch text/xml.

In den Video2Brain-Tuts funktioniert es, soweit ich es mir angeschaut habe, aber auch ohne php, oder?

Sei's drum, wie genau mach ich es denn mit php? Kenne mich mit php noch gar nicht aus, so dass ich wirklich glücklich wäre, wenn du mir diese letzte Hilfe noch gewähren könntest.
Ist bestimmt nur eine Zeile, aber wo schreibe ich sie hin ... ?


als Antwort auf: [#259145]

Problem mit der Funktion getElementsByTagName() im IE

ganesh
Beiträge gesamt: 1981

29. Okt 2006, 20:37
Beitrag # 6 von 9
Beitrag ID: #259219
Bewertung:
(2173 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
naja, in einer Produktiv-Umgebung wird ein XML-File ja z.B. via PHP generiert (Daten aus mySQL oder einem CMS abholen, umformatieren, speichern). Das hier genügt:

<?php
header('Content-Type: text/xml');
?>

oder, falls UTF-8:
<?php
header("Content-type: text/xml; charset=UTF-8");
?>

Vielleicht ist auch ganz einfach dein FTP-Programm oder Editor falsch eingestellt, so dass deine XML-Files falsch übermittelt werden. Oder der Server interpretiert alles was nicht binär ist, automatisch als HTML oder Plain-Text.


als Antwort auf: [#259218]

Problem mit der Funktion getElementsByTagName() im IE

Canio
Beiträge gesamt: 174

30. Okt 2006, 16:48
Beitrag # 7 von 9
Beitrag ID: #259350
Bewertung:
(2129 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Ok, und wenn das xml-file nicht von php generiert wird, sondern von Hand geschrieben und in das Verzeichnis gelegt wird? Hilft mir php dann trotzdem weiter?
Kann ich php dann nicht dazu benutzen, ein schon existierendes xml-file mit dem richtigen Header zu versehen? Wenn ja, wie?
Bitte für Doofies erklären ...


als Antwort auf: [#259219]

Problem mit der Funktion getElementsByTagName() im IE

Canio
Beiträge gesamt: 174

2. Nov 2006, 09:55
Beitrag # 8 von 9
Beitrag ID: #259727
Bewertung:
(2079 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hilfe ... :(


als Antwort auf: [#259350]

Problem mit der Funktion getElementsByTagName() im IE

ganesh
Beiträge gesamt: 1981

2. Nov 2006, 18:54
Beitrag # 9 von 9
Beitrag ID: #259849
Bewertung:
(2059 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
File aufrufen mit readfile()
http://ch2.php.net/readfile
und davor einfach noch den Header einsetzen


als Antwort auf: [#259727]
X