Bisher habe ich mit AS3 nicht viel gemacht, da die Umstellung von AS2 auf AS3 recht gewöhnungsbedürftig ist. Saubere Programmierung bei AS3 ist Pflicht, sonst kommt man nicht weit. Jedenfalls habe ich mal versucht nun mit AS3 ein XML-Feed auszulesen. Im Anschluss ein kleines Tutorial wie es funktioniert.
Die Test-XML ist dabei ein Feed-Link von diesem Blog:
<?xml version="1.0" encoding="ISO-8859-1"?>
<!-- generator="Laberbrett Edition" -->
<rss version="2.0">
<channel>
<title><![CDATA[CIX BLOG]]></title>
<link>http://www.cix-blog.de/</link>
<description><![CDATA[Beiträge und Berichte]]></description>
<pubDate>Thu, 01 Jan 2009 22:18:27 GMT</pubDate>
<language>de</language>
<item>
<title><![CDATA[Sylvester 2008/2009 - gut angekommen?]]></title>
<link>http://www.cix-blog.de/Sylvester-2008-2009-gut-angekommen-525-2009.html</link>
<comments>http://www.cix-blog.de/Sylvester-2008-2009-gut-angekommen-525-2009.html#comments</comments>
<pubDate>Thu, 01 Jan 2009 16:56:36 GMT</pubDate>
<creator><![CDATA[MediaCix]]></creator>
<category><![CDATA[Allgemein]]></category>
<guid>http://www.cix-blog.de/Sylvester-2008-2009-gut-angekommen-525-2009.html</guid>
<description><![CDATA[Na sind wir gut angekommen in das neue Jahr?]]></description>
<commentRss>http://www.cix-blog.de/feed_blog_525</commentRss>
</item>
<item>
<title><![CDATA[TV-Sender - einschlafen mit Astro TV]]></title>
<link>http://www.cix-blog.de/TV-Sender-Astro-TV-521-2008.html</link>
<comments>http://www.cix-blog.de/TV-Sender-Astro-TV-521-2008.html#comments</comments>
<pubDate>Tue, 30 Dec 2008 22:35:54 GMT</pubDate>
<creator><![CDATA[MediaCix]]></creator>
<category><![CDATA[Allgemein]]></category>
<guid>http://www.cix-blog.de/TV-Sender-Astro-TV-521-2008.html</guid>
<description><![CDATA[Es ist der 30.12.08 23:30 Uhr und kein Schwein ruft bei Astro TV an.]]></description>
<commentRss>http://www.cix-blog.de/feed_blog_521</commentRss>
</item>
</channel>
</rss>// bei AS3 muss alles ordentlich definiert werden
var xmlLoader:URLLoader = new URLLoader();
var xmlData:XML = new XML();
// Registriert ein Ereignis-Listener-Objekt
xmlLoader.addEventListener(Event.COMPLETE, LoadXML);
// eine URLRequest-Klasse
xmlLoader.load(new URLRequest('http://www.cix-blog.de/feed-Allgemein'));function LoadXML(e:Event):void {
xmlData = new XML(e.target.data);
trace(xmlData);
}function LoadXML(e:Event):void {
xmlData = new XML(e.target.data);
//trace(xmlData);
var blog_title:XMLList = xmlData.channel.item.title.children();
for (var i:Number = 0; i < blog_title.length(); i++) {
trace ( blog_title[i] );
}
}// ein Array definieren
var array_title:Array = new Array();
function LoadXML(e:Event):void {
xmlData = new XML(e.target.data);
//trace(xmlData);
var blog_title:XMLList = xmlData.channel.item.title.children();
for (var i:Number = 0; i < blog_title.length(); i++) {
array_title.push ( blog_title[i] );
}
}function GetArray() {
trace( array_title );
}
addEventListener(Event.ENTER_FRAME, meine_funktion);
function meine_funktion(event:Event) {
if ( array_title.length >= 1 ) {
GetArray();
trace('Daten sind geladen' );
this.removeEventListener(Event.ENTER_FRAME, meine_funktion);
}
}