[ruby-de] feedparser, JSONFeed und FEED.TXT (war: planet.ruby-portal.de offline)

Robert Klemme shortcutter at googlemail.com
Fr Jun 9 15:25:36 JST 2017


2017-06-09 7:43 GMT+02:00 Gerald Bauer <gerald.bauer at gmail.com>:

>> Ergo: Mehraufwand für die Entwickler.
>
>    Das Einlesen (Parsen) von JSON ist wirklich ein Einzeiler (JSON.parse) z.B.:
>
>    text = open( 'http://openfootball.github.io/feed.json' ).read
>
>    feed = JSON.parse( text )
>
>    puts feed['title']
>    # => "football.db - Open Football Data"
>
>     Da sehe ich keinen Mehraufwand ;-).

Damit hast Du aber nur JSON geparst - nicht das Feed-Format! XML kann
man in genau so einem Einzeiler parsen. Der Mehraufwand, den Marvin
meint, entsteht ja durch die Abbildung in ein einheitliches internes
Format und die Pflege.

>    Dagegen ist das Einlesen von XML in 2017 (?!) in Ruby weiterhin ungelöst:
>
>    - Etwa mit REXML Stdlib?

REXML ist für relativ kleine Dokumente wie Feeds gar nicht so
schlecht, hat aber natürlich so seine Macken.

>    - Oder Nokogiri Gem? (with libxml c-extension)

Ich würde tatsächlich gerne sehen, dass Nokogiri Teil der
Standardbibliothek wird. Aufgrund der Abhängigkeiten zu libxml, die
möglicherweise nicht auf allen Plattformen verfügbar ist, oder dem
entsprechenden Bedarf an Ressourcen, kann ich auch verstehen, wenn das
nicht passiert.

>    - Oder besser als Text with regular expressions?
>    - Oder -   Weitere (neue) Alternative? Bitte melden und kommentieren!
>
>     Was ist der "Standard" in 2017 (?!) zum Lesen von XML in Ruby -
> bin überfordert und ratlos, da hilft nur eine Stack Overflow Suche ;-)

Ich nehme immer Nokogiri. Mich nervt zwar die etwas längere Ladezeit,
aber das nehme ich in Kauf, nachdem ich hin und wieder Probleme mit
REXML hatte. (Falls Du jetzt fragst, welche das waren: soweit ich mich
erinnere gab es mit manchen Zeichen bzw. Encodings Probleme und die
Unterstützung von XPath-Suche ist in Nokogiri sehr viel besser - bis
hin zu Einbindung eigener Ruby-Funktionen.)

>      Nochmals danke für die Wiederbelebung der Ruby DE Liste. Schönes
> Wochenende. Gruss.

Dito.

Ciao

robert


-- 
[guy, jim, charlie].each {|him| remember.him do |as, often| as.you_can
- without end}
http://blog.rubybestpractices.com/


Mehr Informationen über die Mailingliste ruby-de