Edi: XML mit JavaScript: Problem mit Knoten

Beitrag lesen

Ich komme nicht mehr weiter... :-(

Also, ich habe eine XML-Datei mit folgender Struktur:

ROOT
   KNOTEN 1
     KNOTEN 2
       KNOTEN 3
          KNOTEN 4a
             KNOTEN 5a
             KNOTEN 5b
          KNOTEN 4b
             KNOTEN 5c
             KNOTEN 5d

Mit dem 1. Skript kann ich nun aber immer nur Folgendes lesen:

ROOT
   KNOTEN 1
     KNOTEN 2
       KNOTEN 3
          KNOTEN 4a
          KNOTEN 4b

Mit dem 2. Skript funktioniert Folgendes:

ROOT
   KNOTEN 1
     KNOTEN 2
       KNOTEN 3
          KNOTEN 4a
             KNOTEN 5a
             KNOTEN 5b

Das 1. Skript:

for (i=0;i<y.length;i++)
  {
  if (y[i].nodeType!=3)
  document.write("<br />");
    {
    document.write("Nodename: " + y[i].nodeName);
    document.write(" (value: " + y[i].childNodes[0].nodeValue + ")<br />");
    for (z=0;z<y[i].childNodes.length;z++)
      {
      if (y[i].childNodes[z].nodeType!=3)
        {
        document.write("Nodename: " + y[i].childNodes[z].nodeName);
        document.write(" (value: " + y[i].childNodes[z].childNodes[0].nodeValue + ")<br />");
     for (m=0;m<y[i].childNodes[z].childNodes.length;m++)
       {
       if (y[i].childNodes[z].childNodes[m].nodeType!=3)
      {
            document.write("Nodename: " + y[i].childNodes[z].childNodes[m].nodeName);
            document.write(" (value: " + y[i].childNodes[z].childNodes[m].childNodes[0].nodeValue + ")<br />");
            }
          }
        }
      }
    }
  }

Das 2. Skript:

for (i=0;i<y.length;i++)
  {
  if (y[i].nodeType!=3)
    {
    document.write("Nodename: " + y[i].nodeName);
    document.write(" (value: " + y[i].childNodes[0].nodeValue + ")<br />");
    for (z=0;z<y[i].childNodes.length;z++)
      {
      if (y[i].childNodes[z].nodeType!=3)
      document.write("<br />");
        {
        document.write("Nodename: " + y[i].childNodes[z].nodeName);
        document.write(" (value: " + y[i].childNodes[z].childNodes[0].nodeValue + ")<br />");
     for (m=0;m<y[i].childNodes[z].childNodes.length;m++)
       {
       if (y[i].childNodes[z].childNodes[m].nodeType!=3)
         {
            document.write("Nodename: " + y[i].childNodes[z].childNodes[m].nodeName);
            document.write(" (value: " + y[i].childNodes[z].childNodes[m].childNodes[0].nodeValue + "<br />");
      for (n=0;n<y[i].childNodes[z].childNodes[m].childNodes.length;n++)
        {
           if (y[i].childNodes[z].childNodes[m].childNodes[n].nodeType!=3)
             {
                document.write("Nodename: " + y[i].childNodes[z].childNodes[m].childNodes[n].nodeName);
                document.write(" (value: " + y[i].childNodes[z].childNodes[m].childNodes[n].childNodes[0].nodeValue + ")<br />");
                }
              }
            }
          }
        }
      }
    }
  }

Habe ich da irgend etwas übersehen?!