Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. xml - Daten auslesen

    NEWS

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    xml - Daten auslesen

    This topic has been deleted. Only users with topic management privileges can see it.
    • B
      Balu1973 last edited by

      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

      paul53 1 Reply Last reply Reply Quote 0
      • paul53
        paul53 @Balu1973 last edited by

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

        B 1 Reply Last reply Reply Quote 0
        • B
          Balu1973 @paul53 last edited by

          @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 😉

          StrathCole 1 Reply Last reply Reply Quote 0
          • StrathCole
            StrathCole @Balu1973 last edited by

            @Balu1973 Schau mal nach dem Modul xml2js.

            1 Reply Last reply Reply Quote 0
            • First post
              Last post

            Support us

            ioBroker
            Community Adapters
            Donate

            549
            Online

            31.8k
            Users

            80.0k
            Topics

            1.3m
            Posts

            javascript
            3
            4
            339
            Loading More Posts
            • Oldest to Newest
            • Newest to Oldest
            • Most Votes
            Reply
            • Reply as topic
            Log in to reply
            Community
            Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
            The ioBroker Community 2014-2023
            logo