Hallo alle miteinander,
ich habe ein Problem, für das es sicher eine ganz simple Erklärung gibt. Sie will mir einfach nicht einleuchten.
Ich habe einen XML-Baum via Ajax nachgeladen und kann auch über getElementsByTagName problemlos darauf zugreifen. Soweit kein Problem. Wenn ich allerdings versuche die Attribute der Elemente auszulesen kommt immer undefined heraus. Ein Beispiel.
Ich habe ein Tag namens "branch" mit dem Attribut "size".
"undefined" erhalte ich wenn ich folgendes Versuche:
xml.getElementsByTagName('branch')[0].size;
ebenfalls erhalte ich undefined, wenn ich es auf diese Weise versuche
xml.getElementsByTagName('branch')[0].getAttribute('size');
Bei der Fehlersuche habe ich dann folgendes versucht, was mich nun gänzlich verwirrt. Wenn ich nämlich
xml.getElementsByTagName('branch')[0].attributes[0].nodeName
abfrage erhalte ich "size";
und auch
xml.getElementsByTagName('branch')[0].attributes[0].nodeValue
liefert den richtigen Wert. In Selfhtml steht, dass man sich auf die Reihenfolge der Knoten nicht verlassen soll, weshalb ich von dieser Abfrage absehen möchte.
Wie kann es aber sein, dass Ich die Attribute mit den richtigen Namen und Werten ausgegeben bekomme, wenn ich sie jedoch mit ihrem Namen ansprechen möchte "undefined" erhalte. Ich bin mit meinem Latein am Ende und hoffe, dass mir jemand helfen kann.
Danke schonmal
Raoul Keller
P.S.:
Nur der Vollständigkeit halber: Ich habe es auch mit
xml.getElementsByTagName('branch')[0].size.nodeValue
sowie mit
xml.getElementsByTagName('branch')[0].getAttribute('size').nodeValue
versucht. Immer das gleiche. Testbrower waren Firefox (Gecko) und Iron (Webkit).