Hier ein kleines Widget, das mit SWX und SWXml realisiert wurde. SWXml ist ein generischer XML Parser, mit dem man auf einfache Weise auf die Informationen eines Feeds zugreifen kann.

Das Widget liest den RSS Feed von swxformat.org und zeigt die letzten fünf Beiträge. Klickt man auf einen Beitrag, kommt man zum vollständigen Artikel.

Der Aufruf der SWXml-Serviceklasse erfolgt beim Aufrufen des SWX-Calls. Nachdem SWXml den Feed gelesen und in ein Array gewandelt hat, erhält man das Resultat in Flash zurück. Die Informationen können nun in der Funktion "resultHandler" verarbeitet werden.

Die Quelldateien dieses Beispiels habe ich dem SWXml-Download hinzugefügt (SWXml: XML API for SWX).

Actionscript:

  1. //////////////////////////////////////////////////////////////////////
  2. //
  3. // SWXml
  4. //
  5. // Florian Plag / www.video-flash.de
  6. // All SWX sample applications are released under the open source
  7. // MIT License (http://www.opensource.org/licenses/mit-license.php).
  8. //
  9. // This version uses the SWX ActionScript Library.
  10. //
  11. //////////////////////////////////////////////////////////////////////
  12. "SWXml""parseXML",
  13.         args: ["http://swxformat.org/feed/rss2/"// Carry out SWX call.
  14. // ::::::::::::::::::::::::::::::::
  15. // :::::::: init ::::::::::::::::::
  16. // :::::::::::::::::::::::::::::::: 
  17. // Create a new SWX object
  18. // swx.gateway = "http://localhost:8888/php/swx.php";   
  19. "http://www.video-flash.de/swx/php/swx.php""GET";
  20.    
  21. }
  22.  
  23.  
  24.  
  25. // ::::::::::::::::::::::::::::::::
  26. // :::::::: resultHandler :::::::::
  27. // ::::::::::::::::::::::::::::::::
  28. // save result
  29. // :::::::: TITLE ::::::::::
  30.    
  31.     // set title
  32. // onRelease function for title
  33. // goto URL
  34. // :::::::: ITEMS ::::::::::
  35.    
  36.     // set items
  37. // read title of entry
  38. // cut after 50 chars if neccessary
  39. "...";
  40.         }
  41.        
  42.         // set item text
  43. "item"// create id
  44. "item" + i].id = i;
  45.        
  46.         // onRelease function
  47. "item"// goto URL
  48. // :::::::::::::::::::::::::::::::::
  49. // :::::::: timeoutHandler :::::::::
  50. // :::::::::::::::::::::::::::::::::
  51. "timeout");
  52. }
  53.  
  54. // ::::::::::::::::::::::::::::::::
  55. // :::::::: isLoading :::::::::::::
  56. // ::::::::::::::::::::::::::::::::
  57. "loading");
  58. }