Page 1 of 1

[German] Wetterwarnungen

Posted: 30 Dec 2015 01:31
by Mar
Hey
Ich würde gerne gewarnt werden, wenn schlechte Wetterbedingungen bevorstehen.
Dafür habe ich den Deutschen Wetterdienst gefunden.
Es wird auch eine externe Einbindung für Entwickler angeboten. Ich habe mich mal hierfür entschieden:

http://www.dwd.de/DE/wetter/warnungen_a ... 0bodyText9

Es wird folgender Hinweis gegeben:
JSONP wird anstelle von reinem JSON-Code zur Vermeidung von Domainabhängigkeiten verwendet. Im Unterschied gibt es vor dem eigentlich JSON-Code zusätzlich den Präfix "warnWetter.loadWarnings(" und am Ende noch ein " );". Werden die Anfangs- und Endzeichen entfernt (z.B. durch Nutzung einer "Substring"-Funktion) erhält man den reinen JSON-Code, der entsprechend verarbeitet werden kann.
Hier noch die Quelle der Daten:

http://www.dwd.de/DWD/warnungen/warnapp ... nings.json

Das mit dem Extrahieren und Umwandeln in XML klappt auch ohne Probleme:

Code: Select all

response=substring(response, 24, length(response)-2);
xml=convertJSONtoXML('{"root":'+response+"}");
Nur irgendwie will das Auslesen nicht so recht funktionieren :(
Zum Beispiel:

Code: Select all

warning=evaluateXPathAsString(xml, "/warnings/112060000/event")
Folgender Fehler tritt auf:
Can not evaluate XPath expression '/warnings/112060000/event' on XML
Ich habe schon vieles probiert. Mir ist auch aufgefallen, dass im Code ein <instruction/> herum schlummert. Aber auch wenn man das entfernt, funktioniert es nicht.
Damit Ihr die gleichen Daten zur Verfügung habt, füge ich noch die jetzt aktuellen Daten an.
Die XML-Datei lies sich zwar nicht anfügen, aber der JSON-Code genügt ebenfalls.
The upload was rejected because the uploaded file was identified as a possible attack vector.
Viele Grüße
Mar

Re: [German] Wetterwarnungen

Posted: 04 Jan 2016 20:21
by Martin
Hi,

Vermutlich scheitert das Vorgehen an diesem JSON weil einige der Objekte respektive Arrays rein numerische Namen enthalten:

Code: Select all

{"time":1451938578000,"warnings":{"109271000":[...
Die Funktion convertJSONtoXML berücksichtigt diesen Umstand im Moment nicht, was dazu führt, dass das XML ungültig ist. Ich kann die Funktion im nächsten Update korrigieren, so dass aus solchen numerischen Objekten gültige XML-Elemente entstehen, z.B. indem ich ein Präfix n_ vor die Nummer stelle.
In der nächsten Version von Automagic können JSON aber auch direkt in Objektstrukturen umgewandelt werden, wodurch die Umwandlung in XML entfallen kann.

Freundliche Grüsse
Martin

Re: [German] Wetterwarnungen

Posted: 05 Jan 2016 06:17
by Mar
Das hört sich schon super an. Danke.
MfG
Mar