Aus Website andere XML-Datei lesen und Statusänderungen anzeigen

Gast #5499114
Vorab:
Ich programmiere zwar schon eine ganze Weile Mikrocontroller und 
sonstiges, habe aber um Webprogrammierung etc. bisher immer einen großen 
Bogen gemacht, bzw. hatte keinen Bedarf mich damit zu beschäftigen.

Nun möchte ("muss") ich aber folgendes:

Eine Datei "status.xml" aus dem lokalen Netz lesen und den Inhalt auf 
einer lokal gespeicherten Website visualisieren, möglicht selbst 
updatend. Die anzeigende Site soll also lokal gespeichert sein, die 
status.xml muss von einem Gerät im lokalen Netz eingelesen werden.

Der Status der LEDs soll einfach z.B. als Farbwechsel eines 
Radio-Buttons oder ähnlich dargestellt werden. Schön wäre es, wenn sich 
das ganze ca. alle 500ms selbst updaten würde.

Ich vermute mal, dass man sowas mit Java Script machen kann?

Die Datei sieht z.B. so aus:
1
<response>
2
<led0>0</led0>
3
<led1>1</led1>
4
<led2>1</led2>
5
<led3>0</led3>
6
<led4>0</led4>
7
<led5>0</led5>
8
<led6>1</led6>
9
<led7>0</led7>
10
</response>

Ich habe wirklich keine recht Ahnung wo/ wonach ich da genau suchen 
muss, kann mich bitte jemand auf die richtige Spur setzen?

Vielen Dank!
Gast
Michael T. schrieb:
> Eine Datei "status.xml" aus dem lokalen Netz lesen und den Inhalt auf
> einer lokal gespeicherten Website visualisieren

Ist der Origin (der Teil schema://host:port/), der Abfragenden Seite und 
der Abgefragten Daten sie selbe? Falls nicht, muss entweder der 
Access-Control-Allow-Origin Header[1] von dem Server, der die Daten 
liefert, mitgesendet werden, oder die Daten Serverseitig abgefragt 
werden.

1) 
https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Access-Control-Allow-Origin

Ansonsten sollte sowas gehen:
1
fetch("HIER URL EINSETZEN")
2
  .then(response=>response.text())
3
  .then(text=>new DOMParser().parseFromString(text,"application/xml"))
4
  .then(xml=>{
5
    console.log(xml);
6
  });

PS: Das XML ist grauenhaft. Kein <?xml, für jede Led ein anderer tag 
name, OMG.
Gast
Hallo,

>Eine Datei "status.xml" aus dem lokalen Netz lesen und den Inhalt auf
>das ganze ca. alle 500ms selbst updaten würde.

überdenke deine Architektur nochmal. Die Datei wird immer geschrieben 
und gelesen. Das Speichermedium wird sich irgendwann bedanken.

Was spricht gegen MQTT in deinem Netzwerk?

http://blog.wenzlaff.de/?p=6487
https://tutorials-raspberrypi.de/datenaustausch-raspberry-pi-mqtt-broker-client/
Der Internet Explorer konnte das mal ...
Nannte sich data island und damit war es möglich xml Daten einzubetten 
oder mit include xml Daten laden. Das könntest du vielleicht nachbauen, 
hat wie folgt funktioniert:

Er hat die XML Datei gelesen, mit einer XSLT Transformation in HTML 
umgeformt und dann angezeigt. So etwas müsste über Scipte auch machbar 
sein.
Mit der XSLT Datei bestimmst du das Layout deiner Webseite.

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 8 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.