Flex中处理带命名空间的XML
对包含自定义命名空间的XML 进行分析是比较困难的, 它要求该命名空间一定要在任何XML 返回前被申明, 同时要在该命名空间内进行分析。比如对于以下的一个xml:
test.xml
<?xml version="1.0"?>
<soap:Envelope
xmlns:soap="http://www.w3.org/2001/12/soap-envelope"
soap:encodingStyle="http://www.w3.org/2001/12/soap-encoding">
<soap:Body xmlns:m="http://www.example.org/stock">
<m:PriceResult>
<m:Price>34.5</m:Price>
</m:PriceResult>
</soap:Body>
</soap:Envelope>
在Applicaiton中如下:
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" xmlns:local="*">
<mx:Script>
<!--[CDATA[
import mx.rpc.events.ResultEvent;
//load the xml
private function loadXML():void
{
https.send();
}
private function doResult(evt:ResultEvent):void
{
var xml:XML = evt.result as XML;
//这样可以取得正确结果
namespace w3c = "http://www.w3.org/2001/12/soap-envelope";
use namespace w3c;
namespace m = "http://www.example.org/stock";
use namespace m;
lbl.text = xml.w3c::Body.m::PriceResult.m::Price;
//这样取不到正确结果
// lbl.text = xml.Body.PriceResult.Price;
}
]]-->
</mx:Script>
<mx:Button x="297" y="289" label="Button" click="loadXML()"/>
<mx:HTTPService id="https" url="test.xml" result="doResult(event)" resultFormat="e4x"/>
<mx:Label x="212" y="198" text="显示结果:"/>
<mx:Label x="291" y="198" width="132" id="lbl"/>
</mx:Application>
注意代码中:
namespace w3c = "http://www.w3.org/2001/12/soap-envelope";
use namespace w3c;
相关文档:
根据别人写了类,自己又增加了一部分,贴出来分享
/*获得两个日期之差 */
public static function getDateDiff(startDate:Date, endDate:Date):int
{
var diff:Number = (Number(endDate) - Number(startDate))/(3600000*24);
return diff;
}
/* 获得现在日期 */
public static function getDate() ......
通过Flex中的Timer可是实现数字时钟的效果,其效果图如下:
实现的代码如下:
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute">
<mx:Script>
<!--[CDATA[
import mx.formatters.DateFormatt ......
http://www.noupe.com/adobe/flex-developers-toolbox-free-components-themes-and-tutorials.html经典中的经典
http://www.efflex.org/EfflexExplorer.html堪称经典
http://mofeichen.javaeye.com/blog/466171里面有好多特效例子
http://www.marcusschiesser.de/?p=67 3D相册,还不错
http://www.switchont ......
<?xml version="1.0" encoding="utf-8"?>
<!-- Simple example to demonstrate the DateTimeAxis class. -->
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml">
<mx:Script>
import mx.collections.ArrayCollection;
......
前期准备:
点击File菜单 -> New -> MXML Component,然后弹出一个对话框。
在对话框中输入组件名,选择此组件继承的类型,如:Canvas,DataGrid,ComboBox …… 等。
然后选择组件的大小,点击Finish即可。
关于组件继承的类型,假设Based on  ......