Flex 学习小结(4)

1 TIMER类的应用
//创建一个500毫秒间隔,10次的Timer
var curTimer:Timer = new Timer(500, 10);
//添加一个事件监听器,使得每次到达时间间隔调用output方法
curTimer.addEventListener(TimerEvent.TIMER, outPut);
//添加一个事件监听使得完成所有Timer调用后,调用函数timerComplete
curTimer.addEventListener(TimerEvent.TIMER_COMPLETE,timerComplete);
//开始时间间隔的调用
curTimer.start();
}
public function outPut(evt:TimerEvent):void
{
//每次输出调用的次数
trace("输出次数 " + evt.target.currentCount);
}
public function timerComplete(evt:TimerEvent):void
{
//调用完毕输出内容
trace("调用完毕");
}

2 XML相关
为XML添加节点和属性
var flexXML:XML=<RIA></RIA>
flexXML.FLASH="HELLO";
mailto:flexXML.@name=%22flashplayer";
则会变成 <RIA name="flashplayer">
<FLASH>HELLO</FLASH>
</RIA>

访问所需要的结点:
   var flexXML:XML=
<RIA>
<FlashPlayer>
<Flash>
<Name>Flash CS3</Name><Version>9</Version><price>1000</price>
</Flash>
<Flash>
<Name>Flash 8</Name><Version>8</Version><price>1000</price>
</Flash>
<Flash>
<Name>Flash 2004MX</Name><Version>7</Version><price>1000</price>
</Flash>
</FlashPlayer>
</RIA>

  var abc:XMLList=flexXML.child("FlashPlayer");访问flashplayer的孩子结点

访问元素的指定属性用@ 符号,如:
  trace(flexXML.FlashPlayer.@version);
也可以用attribute属性访问,如
trace(flexXML.FLashPlayer.attribute("version"));

XML中的查找结点:
   比如:
var flexXMLStr:String="<RIA>"
+"<FlashPlayer>"
+"<Flash version='9'>Flash CS3</Flash>"
+"<Flash version='8'>Flash 8</Flash>"
+"<Flash version='7'>Flash 2004MX</Flash>"
+"<Flex>Flex3</Flex>"
+"</FlashPlayer>"
+"<Ajax>"
+"<GoogleAjax>GoogleAjax1.0</GoogleAjax>"
+"</Ajax>"
+"</RIA>";
var flexXML1:XML=new XML(flexXMLStr);
trace(flexXML1.FLASHPLAYER.FLash.(attribute('version')>7));
查找其中version属性大于7的结点
通过hasOwnproperty去查找是否有该结点
trace(flexXML1.FLASHPLAYER.FLash.(hasOwnproperty("company")&&@version>7));

FOR循环输出:
for(var i:int=0;i<flexXML.child("FlashPlayer").child("Flash").length();i++)
{
trace(flexXML.child("FlashPlayer").child("Flash")[i].Name+":"+flexXML.child("FlashPlayer").child("Flash")[i].Version);

}

你可能感兴趣的:(Flex,小结)