( Erledigt ) xml parsen

Begonnen von Wolfgang Hochweller, 24 Mai 2019, 22:15:16

Vorheriges Thema - Nächstes Thema

Wolfgang Hochweller

Ich schlage mich mit den Readings fuer ein HTTPMOD-Device herum ....
Regex ist nicht mein Ding, also XPath.

Beispieldatei :


<?xml version="1.0" encoding="utf-8"?>
<weatherdata>
  <location>
    <name>Gvarv</name>
    <type>Tettsted</type>
    <country>Norge</country>
    <timezone id="Europe/Oslo" utcoffsetMinutes="120" />
    <location altitude="17" latitude="59.3876666216368" longitude="9.17239325131741" geobase="ssr" geobaseid="43354" />
  </location>
  <credit>
    <!--For å bruke gratis værdata fra Yr, MÅ du vise følgende tekst godt synlig på nettsiden din. Teksten skal være en lenke til URL-en som er spesifisert.-->
    <!--Les mer om vilkår for bruk av gratis værdata + retningslinjer på
http://om.yr.no/verdata/ -->
    <link text="Værvarsel fra Yr, levert av NRK og Meteorologisk institutt" url="http://www.yr.no/sted/Norge/Telemark/Sauherad/Gvarv/" />
  </credit>
  <links>
    <link id="xmlSource" url="http://www.yr.no/sted/Norge/Telemark/Sauherad/Gvarv/varsel.xml" />
    <link id="xmlSourceHourByHour" url="http://www.yr.no/sted/Norge/Telemark/Sauherad/Gvarv/varsel_time_for_time.xml" />
    <link id="overview" url="http://www.yr.no/sted/Norge/Telemark/Sauherad/Gvarv/" />
    <link id="hourByHour" url="http://www.yr.no/sted/Norge/Telemark/Sauherad/Gvarv/time_for_time.html" />
    <link id="longTermForecast" url="http://www.yr.no/sted/Norge/Telemark/Sauherad/Gvarv/langtidsvarsel.html" />
    <link id="radar" url="http://www.yr.no/sted/Norge/Telemark/Sauherad/Gvarv/radar.html" />
    <link id="nowcast" url="http://www.yr.no/sted/Norge/Telemark/Sauherad/Gvarv/varsel_nu.xml" />
  </links>
  <meta>
    <lastupdate>2019-05-24T16:41:52</lastupdate>
    <nextupdate>2019-05-25T00:00:00</nextupdate>
  </meta>
  <sun rise="2019-05-24T04:32:06" set="2019-05-24T22:09:22" />
  <forecast>
    <text>
      <location name="Gvarv">
        <time from="2019-05-24" to="2019-05-24">
          <title>Obs! Note!</title>
          <body>Tekstvarsel-tjenesten er nedlagt. The text forecast service is suspended</body>
        </time>
      </location>
    </text>
.
.
.
.


Sachen wie //location/name bekomme ich ausgelesen ( ueber //location/name/text() ) , aber sun rise und sun set geht schon nicht mehr.

Dafuer brauche ich mal ein Beispiel, also etwas, was mir zwei Readings setzt, sunup und sundown.

Nach unzaehligen Versuchen jetzt ein Erfolg :



string(//sun/@rise)



loest mein Problem.