Nicht neu, aber sehr nützlich und jetzt auch mit Flash CS3 möglich: die Open-Source-ActionScript-Library as3syndicationlib zum Parsen von RSS- und ATOM-Feeds. Für alle Feedtypen wird ein einheitliches Interface genutzt, wie auf die Einträge im Feed zugegriffen werden.

Da die Library für Flex geschrieben wurde und einige Flex-spezifische Klassen nutzt, funktioniert sie standardmäßig nicht mit Flash CS3. Hierzu muss man einige Zeilen im Quellcode austauschen.

Um die Klassen funktionsfähig mit Flash CS3 zu machen, geht man so vor:

  • Ersetzen von import mx.utils.StringUtil durch com.adobe.utils.StringUtil (in der Datei "com/adobe/xml/syndication/ParsingTools.as" und in "com/adobe/xml/syndication/rss/Channel20.as")
  • Man benötigt die Datei DateBase.as von Martin Legris und kopiert sie in "com/adobe/utils"
  • Man ersetzt import mx.utils.DateBase durch import com.adobe.utils.DateBase (in der Datei "com/adobe/utils/DateUtil.as")

Das folgende Beispiel zeigt, wie as3syndicationlib funktioniert. Es wird einfach der Titel (Headline) jedes Feed-Items meines Blog-Feeds in einer Listen-Komponente angezeigt.

Der Quellcode lautet:

Actionscript:

  1. span style="color: #808080; font-style: italic;">// neuer data provider für die list component
  2. // data provider als quelle angeben
  3. // neuer loader
  4. //request pointing to feed
  5. "http://www.video-flash.de/index.php/feed/");
  6.  
  7. // event listener (daten geladen / error / security error)
  8. // laden starten
  9. /**
  10. /* Diese Funktion wird aufgerufen, wenn die Daten geladen sind
  11. *///get the raw string data from the feed
  12. // Validierung mit der XMLUtil.isValidXML API (corelib library)
  13. // neue RSS20 Instanz
  14. //Rohdaten parsen
  15. // all items im Feed in einem Array abspeichern
  16. // jedes Item durchlaufen
  17. // nicht valide
  18. "Keine valide XML-Datei.";   
  19.  
  20.     }
  21. }
  22.  
  23.  
  24.  
  25. /**
  26. /* Fehler
  27. */"IOError : ""SecurityError : "

Hinweis: Es werden auch die Klassen der as3corelib benötigt, die ebenfalls Open Source sind. Man muss die zwei Libraries einfach "zusammenkopieren".

Link: as3syndicationlib und as3corelib
Link: Parsing RSS 2.0 Feeds in ActionScript 3