[Flex]xml与Flex通信的研究
研究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 v
相关文档:
经常会设计一个这样的功能,比如更改个性头像,这个个性头像最终需要上传到服务器的文件系统中,但是程序希望在用户选择后直接有个预览,然后用户才进行上传。这个功能技术上其实就是需要对本地的文件能进行读取。在flash player10中有个类FileReference的类可以实现这个功能,而实现对文件读取的接口是load( )函数,要注意 ......
1、使用navigateToURL,主要方式如下:var url:String = "http://localhost:8080/Flex_J2eeDemo/bin/Welcome.html";
&n ......
最近遇到了flex 的安全沙箱问题,找了很多资料发现不是都是和我,我的程序需要socket连接,而大多数讲的都是跨域文件读取的。我先把两种方法都总结出来:
跨域文件读取
方法一:在目标服务器上布署crossdomain.xml文件(我用的此方法很管用,放上就没问题了) 需要远程服务根目录定义有crossdomain.xml文件,如下:
<?x ......
Flex 和C++ 之间传输结构体数据
一直想试验用结构体传数据
但是Flex 和C++ 的类型所占的字节数有时不一样
如int 在C++中站2个字节,而在Flex中占4个字节。
转换比较麻烦。
最后决定用XML进行传输
然后两边都加一个XML 解析和封装类。
C++ 端使用的tinyXML 类
Flex直接使用自己带的 E4X 类
Flex代码如下
&nb ......
Flex端代码:
<?xml version="1.0" encoding="utf-8"?>
<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark"
xmlns:mx="library://ns.adobe.com/flex/mx" minWidth="955" minHeight="600"
>
<fx:Script>
<!--[C ......