Raoul Keller: XML-Attribute lassen sich beim Namen nennen

Beitrag lesen

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).