Skip to content
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Skripten / Logik
  4. xml - Daten auslesen

NEWS

  • Jahresrückblick 2025 – unser neuer Blogbeitrag ist online! ✨
    BluefoxB
    Bluefox
    16
    1
    1.4k

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    13
    1
    819

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    2.1k

xml - Daten auslesen

Geplant Angeheftet Gesperrt Verschoben Skripten / Logik
javascript
4 Beiträge 3 Kommentatoren 462 Aufrufe 1 Watching
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • B Offline
    B Offline
    Balu1973
    schrieb am zuletzt editiert von
    #1

    Hallo Zusammen,

    ich möchte in meiner Visualisierung die Abfahrtszeiten der nächsten Straßenbahnen darstellen. Der RMV bietet dafür eine API, die xml Daten zurückliefert. Ich bekomme das xml aber nicht gescheit auseinander geparst.

    Die XML sieht wie folgt aus:

    <?xml version="1.0" encoding="UTF-8"?> 
    <DepartureBoard serverVersion="1.9" dialectVersion="1.23" requestId="1582997804703" xmlns="hafas_rest">
    
    <Departure direction="Frankfurt (Main) Rheinlandstraße" name="Tram 12 " trainNumber="5918" trainCategory="BTS" reachable="true" type="S" stopid="A=1@O=Frankfurt (Main) Günthersburgpark@X=8699931@Y=50128831@U=80@L=3001501@" stopExtId="3001501" stop="Frankfurt (Main) Günthersburgpark" date="2020-02-29" time="18:35:00" rtDate="2020-02-29" rtTime="18:37:00" prognosisType="PROGNOSED"><JourneyDetailRef ref="1|21927|3|80|29022020"/><JourneyStatus>P</JourneyStatus><Product catCode="5" catIn="BTS" catOut="Tram " catOutL="Niederflurstraßenbahn" catOutS="BTS" line="12" name="Tram 12 " num="5918" operator="Stadtwerke Verkehrsgesellschaft Frankfurt" operatorCode="VGF" admin="TRAFBT"/><Notes><Note routeIdxFrom="4" routeIdxTo="32" key="gu" priority="350" type="A">Türen mit Mehrzweckfläche sind mit gelbem Balken über der Tür gekennzeichnet</Note><Note routeIdxFrom="4" routeIdxTo="32" key="FD" type="I">120087</Note></Notes></Departure>
    
    <Departure direction="Frankfurt (Main) Rheinlandstraße" name="Tram 12 " trainNumber="6086" trainCategory="BTS" reachable="true" type="S" stopid="A=1@O=Frankfurt (Main) Günthersburgpark@X=8699931@Y=50128831@U=80@L=3001501@" stopExtId="3001501" stop="Frankfurt (Main) Günthersburgpark" date="2020-02-29" time="18:45:00" rtDate="2020-02-29" rtTime="18:47:00" prognosisType="PROGNOSED"><JourneyDetailRef ref="1|21939|3|80|29022020"/><JourneyStatus>P</JourneyStatus><Product catCode="5" catIn="BTS" catOut="Tram " catOutL="Niederflurstraßenbahn" catOutS="BTS" line="12" name="Tram 12 " num="6086" operator="Stadtwerke Verkehrsgesellschaft Frankfurt" operatorCode="VGF" admin="TRAFBT"/><Notes><Note routeIdxFrom="8" routeIdxTo="36" key="gu" priority="350" type="A">Türen mit Mehrzweckfläche sind mit gelbem Balken über der Tür gekennzeichnet</Note><Note routeIdxFrom="8" routeIdxTo="36" key="FD" type="I">120088</Note></Notes></Departure>
    
    <Departure direction="Frankfurt (Main) Rheinlandstraße" name="Tram 12 " trainNumber="5919" trainCategory="BTS" reachable="true" type="S" stopid="A=1@O=Frankfurt (Main) Günthersburgpark@X=8699931@Y=50128831@U=80@L=3001501@" stopExtId="3001501" stop="Frankfurt (Main) Günthersburgpark" date="2020-02-29" time="18:55:00" rtDate="2020-02-29" rtTime="18:55:00" prognosisType="PROGNOSED"><JourneyDetailRef ref="1|21927|4|80|29022020"/><JourneyStatus>P</JourneyStatus><Product catCode="5" catIn="BTS" catOut="Tram " catOutL="Niederflurstraßenbahn" catOutS="BTS" line="12" name="Tram 12 " num="5919" operator="Stadtwerke Verkehrsgesellschaft Frankfurt" operatorCode="VGF" admin="TRAFBT"/><Notes><Note routeIdxFrom="4" routeIdxTo="32" key="gu" priority="350" type="A">Türen mit Mehrzweckfläche sind mit gelbem Balken über der Tür gekennzeichnet</Note><Note routeIdxFrom="4" routeIdxTo="32" key="FD" type="I">120089</Note></Notes></Departure></DepartureBoard>
    

    Mein Javascriptversuch die Zeiten auszulesen sieht wie folgt aus:

            var url = 'https://www.rmv.de/hapi/departureBoard?id=3001501&direction=3000508&rtMode=REALTIME&maxJourneys=3&duration=240&accessId=abc.def.ghi';
            request(url, function (err, state, body){
                if (body) {
                    var DOMParser = require('xmldom').DOMParser;
                    var xml_obj = new DOMParser().parseFromString(body, "text/xml");
                    var timestamp0 = xml_obj.getElementsByTagName()DepartureBoard.Departure[0].time;
                    var timestamp1 = xml_obj.getElementsByTagName()DepartureBoard.Departure[1].time;
                    var timestamp2 = xml_obj.getElementsByTagName()DepartureBoard.Departure[2].time;
                    log("Abfahrt 0: "+timestamp0);
                    log("Abfahrt 1: "+timestamp1);
                    log("Abfahrt 2: "+timestamp2);
                          } else {
                }
            })
    

    Wenn ich das Script starte kommt "compile failed at script.js.abfahrt:6"

    Kann mir bitte jemand auf die Sprünge helfen?

    Danke und Grüße,
    Balu

    paul53P 1 Antwort Letzte Antwort
    0
    • B Balu1973

      Hallo Zusammen,

      ich möchte in meiner Visualisierung die Abfahrtszeiten der nächsten Straßenbahnen darstellen. Der RMV bietet dafür eine API, die xml Daten zurückliefert. Ich bekomme das xml aber nicht gescheit auseinander geparst.

      Die XML sieht wie folgt aus:

      <?xml version="1.0" encoding="UTF-8"?> 
      <DepartureBoard serverVersion="1.9" dialectVersion="1.23" requestId="1582997804703" xmlns="hafas_rest">
      
      <Departure direction="Frankfurt (Main) Rheinlandstraße" name="Tram 12 " trainNumber="5918" trainCategory="BTS" reachable="true" type="S" stopid="A=1@O=Frankfurt (Main) Günthersburgpark@X=8699931@Y=50128831@U=80@L=3001501@" stopExtId="3001501" stop="Frankfurt (Main) Günthersburgpark" date="2020-02-29" time="18:35:00" rtDate="2020-02-29" rtTime="18:37:00" prognosisType="PROGNOSED"><JourneyDetailRef ref="1|21927|3|80|29022020"/><JourneyStatus>P</JourneyStatus><Product catCode="5" catIn="BTS" catOut="Tram " catOutL="Niederflurstraßenbahn" catOutS="BTS" line="12" name="Tram 12 " num="5918" operator="Stadtwerke Verkehrsgesellschaft Frankfurt" operatorCode="VGF" admin="TRAFBT"/><Notes><Note routeIdxFrom="4" routeIdxTo="32" key="gu" priority="350" type="A">Türen mit Mehrzweckfläche sind mit gelbem Balken über der Tür gekennzeichnet</Note><Note routeIdxFrom="4" routeIdxTo="32" key="FD" type="I">120087</Note></Notes></Departure>
      
      <Departure direction="Frankfurt (Main) Rheinlandstraße" name="Tram 12 " trainNumber="6086" trainCategory="BTS" reachable="true" type="S" stopid="A=1@O=Frankfurt (Main) Günthersburgpark@X=8699931@Y=50128831@U=80@L=3001501@" stopExtId="3001501" stop="Frankfurt (Main) Günthersburgpark" date="2020-02-29" time="18:45:00" rtDate="2020-02-29" rtTime="18:47:00" prognosisType="PROGNOSED"><JourneyDetailRef ref="1|21939|3|80|29022020"/><JourneyStatus>P</JourneyStatus><Product catCode="5" catIn="BTS" catOut="Tram " catOutL="Niederflurstraßenbahn" catOutS="BTS" line="12" name="Tram 12 " num="6086" operator="Stadtwerke Verkehrsgesellschaft Frankfurt" operatorCode="VGF" admin="TRAFBT"/><Notes><Note routeIdxFrom="8" routeIdxTo="36" key="gu" priority="350" type="A">Türen mit Mehrzweckfläche sind mit gelbem Balken über der Tür gekennzeichnet</Note><Note routeIdxFrom="8" routeIdxTo="36" key="FD" type="I">120088</Note></Notes></Departure>
      
      <Departure direction="Frankfurt (Main) Rheinlandstraße" name="Tram 12 " trainNumber="5919" trainCategory="BTS" reachable="true" type="S" stopid="A=1@O=Frankfurt (Main) Günthersburgpark@X=8699931@Y=50128831@U=80@L=3001501@" stopExtId="3001501" stop="Frankfurt (Main) Günthersburgpark" date="2020-02-29" time="18:55:00" rtDate="2020-02-29" rtTime="18:55:00" prognosisType="PROGNOSED"><JourneyDetailRef ref="1|21927|4|80|29022020"/><JourneyStatus>P</JourneyStatus><Product catCode="5" catIn="BTS" catOut="Tram " catOutL="Niederflurstraßenbahn" catOutS="BTS" line="12" name="Tram 12 " num="5919" operator="Stadtwerke Verkehrsgesellschaft Frankfurt" operatorCode="VGF" admin="TRAFBT"/><Notes><Note routeIdxFrom="4" routeIdxTo="32" key="gu" priority="350" type="A">Türen mit Mehrzweckfläche sind mit gelbem Balken über der Tür gekennzeichnet</Note><Note routeIdxFrom="4" routeIdxTo="32" key="FD" type="I">120089</Note></Notes></Departure></DepartureBoard>
      

      Mein Javascriptversuch die Zeiten auszulesen sieht wie folgt aus:

              var url = 'https://www.rmv.de/hapi/departureBoard?id=3001501&direction=3000508&rtMode=REALTIME&maxJourneys=3&duration=240&accessId=abc.def.ghi';
              request(url, function (err, state, body){
                  if (body) {
                      var DOMParser = require('xmldom').DOMParser;
                      var xml_obj = new DOMParser().parseFromString(body, "text/xml");
                      var timestamp0 = xml_obj.getElementsByTagName()DepartureBoard.Departure[0].time;
                      var timestamp1 = xml_obj.getElementsByTagName()DepartureBoard.Departure[1].time;
                      var timestamp2 = xml_obj.getElementsByTagName()DepartureBoard.Departure[2].time;
                      log("Abfahrt 0: "+timestamp0);
                      log("Abfahrt 1: "+timestamp1);
                      log("Abfahrt 2: "+timestamp2);
                            } else {
                  }
              })
      

      Wenn ich das Script starte kommt "compile failed at script.js.abfahrt:6"

      Kann mir bitte jemand auf die Sprünge helfen?

      Danke und Grüße,
      Balu

      paul53P Offline
      paul53P Offline
      paul53
      schrieb am zuletzt editiert von
      #2

      @Balu1973
      Verwende besser das ebenfalls angebotene JSON-Format, das sich in Javascript viel besser verarbeiten läßt.

      Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
      Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

      B 1 Antwort Letzte Antwort
      0
      • paul53P paul53

        @Balu1973
        Verwende besser das ebenfalls angebotene JSON-Format, das sich in Javascript viel besser verarbeiten läßt.

        B Offline
        B Offline
        Balu1973
        schrieb am zuletzt editiert von
        #3

        @paul53
        Danke für den Tipp. Das json auch geht hatte ich überlesen.

        Wenn trotzdem noch jemand weiß wie das mit XML klappt, nehme ich die Hinweise auch noch dankend an. Wer weiß, wo man es noch brauchen kann ;-)

        StrathColeS 1 Antwort Letzte Antwort
        0
        • B Balu1973

          @paul53
          Danke für den Tipp. Das json auch geht hatte ich überlesen.

          Wenn trotzdem noch jemand weiß wie das mit XML klappt, nehme ich die Hinweise auch noch dankend an. Wer weiß, wo man es noch brauchen kann ;-)

          StrathColeS Offline
          StrathColeS Offline
          StrathCole
          schrieb am zuletzt editiert von
          #4

          @Balu1973 Schau mal nach dem Modul xml2js.

          SolarWatt-Anlage mit 9,6 kWp – KOSTAL Plenticore Plus 10 – BYD B-Box HV 8,96 – Viessmann Vitocal 333g – Zehnder ComfoD 350 (Comfoair 350) mit RS232-Ethernet-Konverter

          1 Antwort Letzte Antwort
          0
          Antworten
          • In einem neuen Thema antworten
          Anmelden zum Antworten
          • Älteste zuerst
          • Neuste zuerst
          • Meiste Stimmen


          Support us

          ioBroker
          Community Adapters
          Donate

          675

          Online

          32.6k

          Benutzer

          82.0k

          Themen

          1.3m

          Beiträge
          Community
          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
          ioBroker Community 2014-2025
          logo
          • Anmelden

          • Du hast noch kein Konto? Registrieren

          • Anmelden oder registrieren, um zu suchen
          • Erster Beitrag
            Letzter Beitrag
          0
          • Home
          • Aktuell
          • Tags
          • Ungelesen 0
          • Kategorien
          • Unreplied
          • Beliebt
          • GitHub
          • Docu
          • Hilfe