返回首页

xml与Flex通信的研究

时间:2012-03-16 01:06来源:知行网www.zhixing123.cn 编辑:麦田守望者

flex以xml作为数据源来进行操作,也是比较重要的。

正好前一阵子在研究E4X与Flex的关系,所以打算总结一下,有说的不对的地方,还请大家多多原谅。

一、最简单模式:Flex通过httpservice和dataProvider进行数据传输


Xml格式如下:

<?xml version="1.0" encoding="utf-8" ?>
<Result>
<NodeA>value1</NodeA>
<NodeB>valve2</NodeB>
……………………………………………
……………………………………………
</Result>

 

在Flex中有一个DataGrid,这样就可以用httpservice来使DataGrid获取xml的数据了。

Flex端如下:

<?xml version="1.0" encoding="utf-8"?>

<mx:TitleWindow xmlns:mx="http://www.adobe.com/2006/mxml"

title="Blog Details">

<mx:HTTPService showBusyCursor="true" url="http://localhost:8080/text.xml"/ id=”xmlRecord”>

<mx:DataGrid width="712" height="338" dataProvider="{xmlRecord.lastResult.Result}">

<mx:columns>

<mx:DataGridColumn headerText="SectionA" dataField=" NodeA" width="400" />

<mx:DataGridColumn headerText="SectionB" dataField=" NodeB" width="30"/>

。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。

</mx:columns>

</mx:DataGrid>

</mx:TitleWindow>

 

※ 其中红字部分必须一致,由于这个sample比较简单,所以Kenshin就不深入研究了。

※ 蓝字部分一定要按照xml的结构书写。

这样在run 这个Flex的时候,在DataGrid中就会显示NodeA&NodeB的内容即value1&value2


二、稍微复杂一些模式

 

Xml端代码如下:

<?xml version="1.0" encoding="UTF-8" ?>

<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/">

<channel>

<title>value1</title>

<link>http://www.k-zone.cn/zblog</link>

<description>关注Flex,Java,DotNet,Web Desgin</description>

。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。

</channel>

</rss>


Flex端如下:

<?xml version="1.0" encoding="utf-8"?>

<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml"

layout="absolute"

creationComplete="feedRequest.send()" >


<mx:HTTPService

id="feedRequest"

url=" http://localhost:8080/text.xml"

useProxy="false" />


<mx:Panel x="10" y="10" width="475" height="400" layout="absolute"

title="{feedRequest.lastResult.rss.channel.title}">

</mx:Panel>

。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。

</mx:Application>

如果想要得到上面的xml中title的值,只需按照蓝字部分书写即可得到Title的value。

以此类推如果想要得到xml中link的内容,应该按如下书写

feedRequest.lastResult.rss.channel.link


三、复杂一些的模式,即xml的格式比较特殊


Xml端代码如下:

<?xml version="1.0" encoding="utf-8"?>

<Result>

<SectionA SubSectionA1=”value1” SubSectionA2=”value2”/>

<SectionB SubSectionB1=”value3” SubSectionB2=”value4”/>

。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。

</Result>


如果大家想要得到SubSectionA1的内容,就显得无从下手了。其实用E4X在actionscript3中已经支持的非常完美了。并且Flex builder2提供的help也有这样的例子。但是我找了一下,没有这样的例子,所以自己研究了一下。并且把结果告诉大家。

要显示SubSectionA1的内容。Flex端如下书写:


var loader:URLLoader = new URLLoader();

var request:URLRequest = new URLRequest("data/sampleData.xml");

loader.load(request);

loader.addEventListener(Event.COMPLETE, onComplete);

}


public function onComplete(event:Event):void {

var externalXML:XML;

var loader:URLLoader = URLLoader(event.target);

externalXML = new XML(loader.data);

trace(externalXML. SectionA [0].@ SubSectionA1);

}


其中红字部分就是SubSectionA1的内容了。其中externalXML. SectionA [0].@ SubSectionA1中的[0]是xml的record的条数。@后面的就是想要得到的子节点的值。其内容可以是SubSectionA2、SubSectionB等等的值。


关于xml的格式在继续引伸一下。以下的格式

<?xml version="1.0" encoding="utf-8"?>

<Result>

<SectionA SubSectionA1=”value1”/>

。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。

</Result>

相当于如下的格式:

<?xml version="1.0" encoding="utf-8"?>

<Result>

<SectionA>

<SubSectionA1>value1”</ SubSectionA1>

</SectionA>

。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。

</Result>


以上就是我关于XML和Flex进行通讯的一些想法,尤其是第三种格式,尤其重要。

------分隔线----------------------------
标签(Tag):flex flex龙8国际平台入口 flex基础教程 flex源代码 flex技巧
------分隔线----------------------------
推荐内容
  • Flash Cs5开启后反复要求重新输入激活码的解决办法

    本来已经输入了一串激活码,并且FlashCs5判断这串激活码是正确的,可以正常使用FlashC...

  • Flash CS4喷涂刷工具使用详解

    在Adobe flash CS4中喷涂刷工具的作用类似于粒子喷射器,使用它可以一次将图案刷到舞...

  • Flash线条工具使用详解

    flash中线条工具 就是用来绘制直线的工具,我们可以在其属性面板中设置直线的属性,其...

  • Flash中的浮动面板使用教程

    在Adobe flash中的编辑器的右侧和大多数Adobe设计软件类似是各项功能的功能面板。最初...

  • Flash漂亮的导航菜单动画制作龙8国际平台入口

    1、新建一个Flash文档,单击属性面板的设置按钮,弹出文档设置对话框,设置尺寸为440*...

  • flash课件的制作原则

    科学性 flash课件制作一定要服从教学目标的需要,必须有严密的科学性,遵循教育科学规...

  • 猜你感兴趣
  • 教育技术学动态
  • 教育技术学论文
  • 理论研究
  • 应用研究
  • 资源收藏
  • 百家观点
  • 英文文献
  • 中国电化教育
  • 电化教育研究
  • 中国远程教育
  • 开放教育研究
  • 现代教育技术
  • 远程教育杂志
  • 现代远距离教育
  • 中国教育信息化
  • 中国信息技术教育
  • 中小学信息技术
  • Flash龙8国际平台入口
  • Photoshop龙8国际平台入口
  • 3DMAX龙8国际平台入口
  • AutoCAD龙8国际平台入口
  • CorelDRAW龙8国际平台入口
  • Matlab龙8国际平台入口
  • 其他龙8国际平台入口
  • .Net龙8国际平台入口
  • Asp龙8国际平台入口
  • Php龙8国际平台入口
  • Jsp龙8国际平台入口
  • Ajax龙8国际平台入口
  • Android教程
  • 其他龙8国际平台入口
  • Word教程
  • Excel教程
  • PowerPoint教程
  • Ubuntu教程
  • 其他教程
  • 课件下载
  • 软件下载
  • 视频教程下载
  • 其他下载
  • 教案大全
  • 试题大全
  • 课件大全
  • 其他大全
  • 人像摄影
  • 风光摄影