XML mit Javascript

#1620674
Lesenswert?

hi ich habe ein kleines Problem kenn mich aber mit javascript nich gut 
genug aus um auf den fehler zu kommmen.
Ich verwende folgenden code zum auslesen eines XML-files und speicher 
die werte in einem Array mit dem namen "werte"

//Variablendeklarationen
var http = null;
werte = new Array();
//Browsercheck:
if (window.XMLHttpRequest)
{
   http = new XMLHttpRequest();
} else
if (window.ActiveXObject)
{
   http = new ActiveXObject("Microsoft.XMLHTTP");
}
window.onload = function()
{
   if (http != null)
   {
      http.open("GET", "werte.xml", true);
      http.onreadystatechange = auslesen;
      http.send(null);
   }
}

//Werte auslesen
function auslesen()
{
   if (http.readyState == 4)
   {
      var daten = http.responseXML;
      var aktw = daten.getElementsByTagName("aktwerte");
      for (var i = 0; i < aktw.length; i++)
      {
         var erg = aktw[i];
         for (var j = 0; j < erg.childNodes.length; j++)
         {
            with (erg.childNodes[j])
            {
               if (nodeName == "temperatur")
               {
                  werte[0] = firstChild.nodeValue;

               }
               if (nodeName == "feuchtigkeit")
               {
                  werte[1] = firstChild.nodeValue;

               }
               if (nodeName == "luftdruck")
               {
                  werte[2] = firstChild.nodeValue;

               }
               if (nodeName == "windgeschwindigkeit")
               {
                  werte[3] = firstChild.nodeValue;

               }
               if (nodeName == "windrichtung")
               {
                  werte[4] = firstChild.nodeValue;

               }
               if (nodeName == "sonneneinstrahlung")
               {
                  werte[5] = firstChild.nodeValue;

               }
            }
         }
      }
      var maxw = daten.getElementsByTagName("maxwerte");
      for (var i = 0; i < aktw.length; i++)
      {
         var maxerg = maxw[i];
         for (var j = 0; j < maxerg.childNodes.length; j++)
         {
            with (maxerg.childNodes[j])
            {
               if (nodeName == "temperatur")
               {
                  werte[6] = firstChild.nodeValue;

               }
               if (nodeName == "feuchtigkeit")
               {
                  werte[7] = firstChild.nodeValue;

               }
               if (nodeName == "luftdruck")
               {
                  werte[8] = firstChild.nodeValue;

               }
               if (nodeName == "windgeschwindigkeit")
               {
                  werte[9] = firstChild.nodeValue;

               }
               if (nodeName == "sonneneinstrahlung")
               {
                  werte[10] = firstChild.nodeValue;

               }
            }
         }
      }
      var minw = daten.getElementsByTagName("minwerte");
      for (var i = 0; i < minw.length; i++)
      {
         var minerg = minw[i];
         for (var j = 0; j < minerg.childNodes.length; j++)
         {
            with (minerg.childNodes[j])
            {
               if (nodeName == "temperatur")
               {
                  werte[11] = firstChild.nodeValue;

               }
               if (nodeName == "feuchtigkeit")
               {
                  werte[12] = firstChild.nodeValue;

               }
               if (nodeName == "luftdruck")
               {
                  werte[13] = firstChild.nodeValue;

               }
               if (nodeName == "windgeschwindigkeit")
               {
                  werte[14] = firstChild.nodeValue;

               }
               if (nodeName == "sonneneinstrahlung")
               {
                  werte[15] = firstChild.nodeValue;
               }
            }
         }
      }
      alert(werte);
      return werte;
   }
}


Allerdings wenn ich jetzt das array in der nächsten funktion verwenden 
möchte kann ich da keinen der werte abrufen.
Weiss jemand eine lösung?

MFG
#1621305
Lesenswert?

Kannst du mir das mal genauer erklären?

Ich möchte  einfach nur ein xml file auslesen in dem messwerte 
gespeichert werden und die in ein array schreiben da ich auf meiner html 
seite verschiedene werte an verschiedenen punkten brauche.

Wenn jemand eine andere möglichekit für das hat tbin ich gern offen das 
auszuprobieren bin halt in dem Thema Javascript absoluter neuling. Also 
fände ich eine einfache Möglichkeit nicht schlecht.

MFG

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren