Flex中解析Kuler RSS feed的例子
By Minidxer | July 29, 2008
接下来的例子演示了Flex中载入Kuler RSS feed并对其进行解析,并将内容显示在DataGrid中。
让我们先来看一下Demo(可以右键View Source或点击这里察看源代码):
下面是完整实现代码(或点击这里察看):
Download: main.mxml
- <?xml version="1.0" encoding="utf-8"?>
- <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml"
- layout="vertical"
- verticalAlign="middle"
- backgroundColor="white"
- creationComplete="tempXML.send(httpServiceParams)">
- <mx:Script>
- <![CDATA[
- import mx.controls.dataGridClasses.DataGridColumn;
- private var kulerNS:Namespace = new Namespace("http://kulerserv/services/rss/kulerRSS");
- private function themeTitle_labelFunc(item:XML, column:DataGridColumn):String {
- return item.kulerNS::themeItem.kulerNS::themeTitle;
- }
- private function themeRating_labelFunc(item:XML, column:DataGridColumn):String {
- return item.kulerNS::themeItem.kulerNS::themeRating;
- }
- private function themeImage_labelFunc(item:XML, column:DataGridColumn):String {
- return item.kulerNS::themeItem.kulerNS::themeImage;
- }
- ]]>
- </mx:Script>
- <mx:Object id="httpServiceParams"
- listtype="rating"
- readerType="public" />
- <mx:HTTPService id="tempXML"
- url="http://kuler.adobe.com/kuler/API/rss/get.cfm"
- resultFormat="e4x" />
- <mx:XMLListCollection id="itemXMLListColl"
- source="{tempXML.lastResult.channel.item}" />
- <mx:VDividedBox width="100%" height="100%" >
- <mx:DataGrid id="dataGrid"
- width="100%"
- dataProvider="{itemXMLListColl}">
- <mx:columns>
- <mx:DataGridColumn headerText="Title:"
- labelFunction="themeTitle_labelFunc">
- <mx:itemRenderer>
- <mx:Component>
- <mx:Label />
- </mx:Component>
- </mx:itemRenderer>
- </mx:DataGridColumn>
- <mx:DataGridColumn headerText="Rating:"
- textAlign="center"
- labelFunction="themeRating_labelFunc" />
- <mx:DataGridColumn headerText="Image:"
- textAlign="center"
- labelFunction="themeImage_labelFunc"
- itemRenderer="mx.controls.Image" />
- </mx:columns>
- </mx:DataGrid>
- <mx:TextArea text="{tempXML.lastResult}"
- width="100%"
- height="100%" />
- </mx:VDividedBox>
- </mx:Application>
代码:Peter deHaan 翻译/整理/编译:minidxer
Topics:
Flex |
Tags: HTTPService, itemRenderer, Kuler, Namespace, XML