AS2 RSSをストリングでパース
あるベテランCプログラマーの人が
「XMLだけはめんどくさいからハッシュ化しちゃうよね」
といったかいわないかは定かではありませんが。
男ならStringのメソッドでRSSをパース
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 | import mx.utils.Delegate; var lv:LoadVars = new LoadVars (); lv.onData = Delegate.create(this,function(str:String):Void { var result:Array=[]; str = str.split(' ').join("").split('\t').join('').split('\r\n').join(''); var items:Array = str.split('<item>'); items.shift(); var len:Number = items.length; for(var i=0;i<len ;++i) { var item:String = items[i]; var title:String = item.substring(item.indexOf('<title>'),item.indexOf('')); var description:String = item.substring(item.indexOf('<description>'),item.indexOf('</description>')); var link:String = item.substring(item.indexOf('<link>'),item.indexOf('</link>')); var guid:String = item.substring(item.indexOf('<guid>'),item.indexOf('</guid>')); //CDATAを削除; description = description.split('< ![CDATA[').join('').split(']]>').join(''); var o:Object = {}; o.title = title; o.description = description; o.link = link; o.guid = guid; result.push(o); }; trace(mx.data.binding.ObjectDumper.toString(result)); }); lv.load ('http://weblogs.macromedia.com/akamijo/index.xml'); </len></item> |
かなりきちんとパースできて正直ワロタ。
コッシーにindexOfを使えといわれて使ったら高速になったよコッシー!!




