Tim Tepaße: Spezielleres XML File mit JavaScript auslesen

Beitrag lesen

Hallo,

Meine Frage ist also: Wie kann ich die einzelnen werte hinter dem "=" in der Logdatei mittels javascript auslesen. Und: Wie ich es schaffe dies ausschliesslich bei der ersten (und aktuellsten) Zeile zu tun.

Du hast die Logdatei in der Variablen xmldoc. Dich interessieren die einzelnen Elemente mit dem Tagnamen „Log“:

xmldoc.getElementsByTagName("Log");

Genauer gesagt interessiert Dich davon nur das erste Element:

logentry = xmldoc.getElementsByTagName("Log")[0]; (oder xmldoc.getElementsByTagName("Log").item(0))

Von diesem XML-Elementknoten interessieren Dich die diversen Attribute. Diese kannst Du also über attributes[0] etc. auslesen. Ich würde aber eher getAttribute() verwenden, schließlich weisst Du ja schon, wie die Attribute heissen:

ventilator2 = logentry.getAttribute("F_Fan_2");

Eine andere Möglichkeit ist es wohl, Dir ein eigenes Objekt Javascript zu basteln, dass für alle Statuswerte zuständig ist:

var status = {  
     "Date":"",  
     "Time":"",  
     ...  
     "C_CPU0:""  
};

Ich nutze hier JSON-Syntax. Objekte kann man mittels objekt[key] nach einem Wert befragen, insofern sind diese wie assoziative Arryas. Und als Key nehme ich aus Faulheit einfach den Namen des jeweiligen Attributes. Man kann so ganz einfach, das Objekt mit einer einfachen Schleife aus logentry raus befüllen:

for (key in status) {
  status[key] = logentry.getAttribute(key);
}

Und hat alle Werte in einem Objekt zur Verfügung, ohne sich den Namensraum mit Krempel zuzumüllen.

Tim