FHEM Forum

FHEM => Automatisierung => Thema gestartet von: Tobias am 24 Juni 2014, 20:11:33

Titel: XML in Perl effektiv parsen?
Beitrag von: Tobias am 24 Juni 2014, 20:11:33
Hi,
bei uns wird der Abfallkalender mit einer Webanwendung zur Verfügung gestellt :)
Ich habe das schon so reduziert, das ich mit einem HTML-Aufruf die Daten des gesamten Jahres bekomme (ein Beispiel aus meiner Stadt):
http://sab.metageneric.de/app/sab_i_tp/index.php?r=getHausnummerInfo&strasse=Torplatz&hausnummer=1

Die Frage, wie kann ich mit wenig code das XML parsen? Gibt es da fertige libraries?
Ich würde mir ggf ein kleines privates Modul bauen was diese Daten extrahiert um Sie dann an den entsprechenden Tagen per TTS vorlesen bzw draus hinweisen zu können.
Schon Klar das das Modul nur für Magdeburg funktioniert ;)
Titel: Antw:XML in Perl effektiv parsen?
Beitrag von: Dietmar63 am 24 Juni 2014, 20:16:09
such mal nach XML::Simple - search.cpan.org
http://search.cpan.org/~grantm/XML-Simple-2.20/lib/XML/Simple.pm (http://search.cpan.org/~grantm/XML-Simple-2.20/lib/XML/Simple.pm)

Ich meine, dass nach dem Parsen fertige hash-Strukturen in Perl vorliegen, die man mit $hash{...}{...}  absuchen kann - sehr komfortabel!!!
Titel: Antw:XML in Perl effektiv parsen?
Beitrag von: Dietmar63 am 24 Juni 2014, 20:22:35
Die folgenden Module nutzen XML::Simple

34_SWAP.pm
55_GDS.pm
70_ENIGMA2.pm
88_ALL4000T.pm
88_WEBCOUNT.pm
98_openweathermap.pm

Da sollte etwas dabei sein.
Titel: Antw:XML in Perl effektiv parsen?
Beitrag von: Tobias am 25 Juni 2014, 07:53:45
Danke, ich schau es mir mal an. Da findet sich bestimmt Beispielcode.
Meine bisherigen Überlegungen gingen in richtung xsltproc und einem xslt-StyleSheet-Template
Titel: Antw:XML in Perl effektiv parsen?
Beitrag von: Dietmar63 am 25 Juni 2014, 10:13:50
Davon verstehe ich nichts.
xml::simple habe  ich mal genutzt um auf Amazon Produktinformaltion zuzugreifen - war letztendlich ganz einfach.
Titel: Antw:XML in Perl effektiv parsen?
Beitrag von: betateilchen am 25 Juni 2014, 15:30:33
da braucht man kein xslt für  :P

Aber das, was ich bei Deinem angegebenen Link bekomme, ist kein XML, sondern reines HTML.
Aber auch zum Parsen von HTML gibt es fertige perl-Module.
Titel: Antw:XML in Perl effektiv parsen?
Beitrag von: Tobias am 25 Juni 2014, 19:06:40
Zitat von: betateilchen am 25 Juni 2014, 15:30:33
Aber auch zum Parsen von HTML gibt es fertige perl-Module.
Und was kannst du dazu empfehlen? HTML::Parser?
Titel: Antw:XML in Perl effektiv parsen?
Beitrag von: betateilchen am 25 Juni 2014, 19:21:32
ja, das ist das Standard-Tool.

Eine recht übersichtliche Anleitung gibt es beispielsweise hier: http://htmlparsing.com/perl.html