lufox: AJAX: Problem mit zwei xml-Dateien

Beitrag lesen

Hi!
Habe ein paar Probleme mit AJAX!
Ich möchte gern zwei xml-Dateien nacheinander abarbeiten, nach bestimmten  Informationen suchen und ausgeben lassen.

Also mein Quelltext sieht zu Zeit so aus:

  
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">  
  
<html>  
  
 <head>  
  <meta http-equiv="content-type" content="text/html;charset=iso-8859-1">  
  <title>Der Vertretungsplan-Finder</title>  
  <link rel="stylesheet" type="text/css" href="vplan.css"/>  
  <script type="text/javascript" language="javascript">  
  
   var ausgabe;  
  
   function anzeigen () {  
   ausgabe = '';  
   makeRequest('080604.xml');  
   makeRequest('080605.xml');  
   document.getElementById('ausgabe').innerHTML = ausgabe;  
            }  
  
  
   var http_request = false;  
  
            function makeRequest(url) {  
  
                http_request = false;  
  
                if (window.XMLHttpRequest) { // Mozilla, Safari,...  
                    http_request = new XMLHttpRequest();  
                    if (http_request.overrideMimeType) {  
                        http_request.overrideMimeType('text/xml');  
                    }  
                } else if (window.ActiveXObject) { // IE  
                    try {  
                        http_request = new ActiveXObject("Msxml2.XMLHTTP");  
                    } catch (e) {  
                        try {  
                        http_request = new ActiveXObject("Microsoft.XMLHTTP");  
                        } catch (e) {}  
                    }  
                }  
  
                if (!http_request) {  
                    alert('Es tut uns leid, aber dein Browser wird nicht unterstützt!');  
                    return false;  
                }  
                http_request.onreadystatechange = alertContents;  
                http_request.open('GET', url, true);  
                http_request.send(null);  
  
            }  
  
            function alertContents() {  
  
                if (http_request.readyState == 4) {  
                    if (http_request.status == 200) {  
     //Ab hier Abfragenprogrammierung  
      var xml = http_request.responseXML;  
      var klasse = document.Klasse.Klasse.options[document.Klasse.Klasse.selectedIndex].value;  
      var tempausgabe = '';  
      var datenvorhanden = false;  
      tempausgabe = tempausgabe + '<p>'+  
      '<span class="vpfuer">Vertretungsplan für <span class="vpfuerdatum">' + xml.getElementsByTagName('titel')[0].firstChild.nodeValue + '</span></span><br>'+  
      'aktualisiert am '+ xml.getElementsByTagName('datum')[0].firstChild.nodeValue +  
      '</p>'+  
      '<table border=1>'+  
      '<tr>'+  
      '<th class="thplanklasse">Klasse/Kurs</th>'+  
      '<th class="thplanstunde">Stunde</th>'+  
      '<th class="thplanfach">Fach</th>'+  
      '<th class="thplanlehrer">Lehrer</th>'+  
      '<th class="thplanraum">Raum</th>'+  
      '<th class="thplaninfo">Info</th>'+  
      '</tr>';  
      for (var i = 0; i <= xml.getElementsByTagName('klasse').length; i++) {  
        var test = xml.getElementsByTagName('klasse')[i].firstChild.nodeValue;  
        if (test == klasse) {  
       tempausgabe = tempausgabe +  
       '<tr>'+  
       '<td class="thplanklasse">'+ xml.getElementsByTagName('klasse')[i].firstChild.nodeValue +'</td>'+  
       '<td class="thplanstunde">'+ xml.getElementsByTagName('stunde')[i].firstChild.nodeValue + '</td>'+  
       '<td class="thplanfach">'+ xml.getElementsByTagName('fach')[i].firstChild.nodeValue + '</td>'+  
       '<td class="thplanlehrer">'+ xml.getElementsByTagName('lehrer')[i].firstChild.nodeValue + '</td>'+  
       '<td class="thplanraum">'+ xml.getElementsByTagName('raum')[i].firstChild.nodeValue + '</td>'+  
       '<td class="thplaninfo">'+ xml.getElementsByTagName('info')[i].firstChild.nodeValue + '</td>'+  
       '</tr>';  
       datenvorhanden=true;  
       }  
         }  
      tempausgabe = tempausgabe + '</table>';  
  
      if (datenvorhanden) {  
      ausgabe = ausgabe + tempausgabe;  
      } else {  
      ausgabe = ausgabe + '<span class="vpfuer">Vertretungsplan für <span class="vpfuerdatum">' + xml.getElementsByTagName('titel')[0].firstChild.nodeValue + '</span></span><br>'+  
      'aktualisiert am '+ xml.getElementsByTagName('datum')[0].firstChild.nodeValue +'<br><br> An diesem Tag hast du keine Vertretung!'; }  
  
                    } else {  
                        alert('Es gab ein serverseitiges Problem!');  
                    }  
                }  
  
            }  
        </script>  
 </head>  
 <body bgcolor="#ffffff">  
  <div align="center">  
  <p>Wähle deine Klasse und deine Vertretung wird angezeigt!</p>  
  <form name="Klasse">  
  <select name="Klasse" size="1" onchange="anzeigen()">  
   <option value="05.1">Klasse 5/1</option>  
   <option value="05.2">Klasse 5/2</option>  
   <option value="05.3">Klasse 5/3</option>  
   <option value="05.4">Klasse 5/4</option>  
   <option value="05.5">Klasse 5/5</option>  
   <option value="06.1">Klasse 6/1</option>  
   <option value="06.2">Klasse 6/2</option>  
   <option value="06.3">Klasse 6/3</option>  
   <option value="06.4">Klasse 6/4</option>  
   <option value="07.1">Klasse 7/1</option>  
   <option value="07.2">Klasse 7/2</option>  
   <option value="07.3">Klasse 7/3</option>  
   <option value="08.1">Klasse 8/1</option>  
   <option value="08.2">Klasse 8/2</option>  
   <option value="08.3">Klasse 8/3</option>  
   <option value="08.4">Klasse 8/4</option>  
   <option value="09.1">Klasse 9/1</option>  
   <option value="09.2">Klasse 9/2</option>  
   <option value="09.3">Klasse 9/3</option>  
   <option value="09.4">Klasse 9/4</option>  
   <option value="10.1">Klasse 10/1</option>  
   <option value="10.2">Klasse 10/2</option>  
   <option value="10.3">Klasse 10/3</option>  
   <option value="10.4">Klasse 10/4</option>  
  </select>  
  </form>  
  </div>  
  <br>  
  <div id="ausgabe"></div>  
 </body>  
  
</html>  

Aber es gibt neuerdings zwei Fehler: Fehler eins ist, dass immer beim Firebug angezeigt wird:

xml.getElementsByTagName("klasse")[i] has no properties
var test = xml.getElementsByTagName('klasse')[i].firstChild.nodeValue;

Und der zweite Fehler ist, dass gar keine Ausgabe stattfindet! :-(
Wie kann ich das beheben?

Habt ihr vielleicht nocht TIPPS oder Hinweise?

Euer lufox