FLEX程序设计-XML(2)

1.定位元素

1.1XML中搜索元素是根据元素名称及层次关系来确定的,如果用户知道需要的元素所在位置可以直接定位.

格式:XML对象.元素所在位置;

1.2如果用户不是很清楚的知道元素的所在位置可以用".."方式.".."表示中间过程不清楚,采用搜索的方式查找(效率比较低);

格式:XML对象..搜索的元素;

1.3XML中经常会有相同的元素名称,可以用下标来确定具体的元素.

格式:XML对象.元素[下标];

ContractedBlock.gif ExpandedBlockStart.gif Code
                      public function SearchElement():void
            {
                var example:XML
=<items>
                        
<item>
                            
<name>Apple</name>
                            
<color>red</color>
                        
</item>
                        
<item>
                            
<name>Orange</name>
                            
<color>orange</color>
                        
</item>
                    
</items>;
                
//定位
                Alert.show("定位:" + example.item.name);
                
//搜索
                Alert.show("搜索:" + example..name);
            
/*上面俩个返回的结果都是一样
               <name>Apple</name>
               <name>Orange</name>
             * 
*/
              
//下标
                Alert.show("下标:" + example.item[0].name); 
                
//返回Apple
            }

2.读取元素内容

格式:XML对象.XML元素.toString();

ContractedBlock.gif ExpandedBlockStart.gif Code
                       public function ReadElementContent():void
            {
                var book:XML
=<book>
                             
<title>Flex 程序设计</title>
                             
</book>;
                 var title:String
=book.title.toString();
                 Alert.show(title);
                 
//返回Flex 程序设计
            }

3.读取属性值

3.1使用"@"操作符读取属性值

格式:XML对象名.元素名.@属性名;

3.2使用attribute方法读取属性值

格式:XML对象名.元素名.attribute(属性名);

3.3使用attributes方法读取全部属性值:用户可以根据下标来区分同一元素下的属性

格式:XML对象名.元素名.attributes()[i];

ContractedBlock.gif ExpandedBlockStart.gif Code
                       public function ReadElementAttribute()
            {
                var fruit:XML
=<fruit name="Apple" color="red" />;
                
//返回red
                Alert.show(fruit.@color);
                
//返回 Apple red
                Alert.show(fruit.@*);
                
//返回red
                Alert.show(fruit.attribute("color"));
                
//返回red
                Alert.show(fruit.attributes()[1]);
            }

4.删除元素和属性:使用delete语句可以删除XML中的元素和属性

格式:delete XML对象.元素;

    delete XML对象.元素.@属性;

ContractedBlock.gif ExpandedBlockStart.gif Code
                       public function DeleteElement()
            {
                var example:XML
=<example>
                        
<fruit color="red">Apple</fruit>
                        
<vagetable color="Green">Broccoli</vagetable>
                        
<dairy color="White">Milk</dairy>
                    
</example>;
                delete example.fruit.@color;
                delete example.dairy;
                delete example.vagetable.text()[
0];
                Alert.show(example);
                
/*返回:
                   <example>
                   <fruit>Apple</fruit>
                   <vagetable color="Green"/>
                   </example>
                 * 
*/
                var example2:XML
=<example>
                        
<fruit color="red">Apple</fruit>
                        
<vagetable color="Green">Broccoli</vagetable>
                        
<dairy color="White">Milk</dairy>
                    
</example>;
                var attributes:XMLList
=example2.fruit.@*;
                
for (var i:int=attributes.length() - 1; i >= 0; i--)
                {
                    delete attributes[i];
                }
                Alert.show(example2);
            
/*返回:
             *
               <example>
               <fruit>Apple</fruit>
               <vagetable color="Green">Broccoli</vagetable>
               <dairy color="White">Milk</dairy>
               </example>
             
*/
            }

5.加载XML文件

1.创建指向外部XML文件的URLRequest对象:该对象在falsh.net包里.

格式:var URLRequest对象:URLRequest=new URLRequest(外部XML文件地址);

2.添加对"Event.COMPLETE"状态的监听.当然URLLoad对象加载XML完成后会触发"Event.COMPLETE"状态,用户需要手工添加对该状态监听.

格式:URLLoad变量名.addEventListener(Event.COMPLETE,处理函数名);

3.使用Load方法开始加载XML.

格式:URLLoad变量名.Load(URLRequest对象);

 

ContractedBlock.gif ExpandedBlockStart.gif Code
package Test
{
    import flash.display.
*;
    import flash.events.
*;
    import flash.net.
*;
    import flash.utils.
*;

    import mx.controls.Alert;

    
public class LoadXml extends Sprite
    {

        
public function LoadXml()
        {
            Alert.show(
"1");
            var loader:URLLoader
=new URLLoader();
            loader.dataFormat
=URLLoaderDataFormat.TEXT;
            loader.addEventListener(Event.COMPLETE, handleComplete);
            Alert.show(
"2");
            loader.load(
new URLRequest("example.xml"));
            Alert.show(
"3");

        }

        
private function handleComplete(event:Event):void
        {
            
try
            {
                Alert.show(
"4");
                var example:XML
=new XML(event.target.data);
                Alert.show(example);
            }
            
catch (e:TypeError)
            {

            }
        }
    }
}
版权说明

  如果标题未标有<转载、转>等字则属于作者原创,欢迎转载,其版权归作者和博客园共有。
  作      者:温景良
  文章出处:http://wenjl520.cnblogs.com/  或  http://www.cnblogs.com/

posted @ 2009-04-26 03:25 温景良(Jason) Views( 759) Comments( 0) Edit 收藏
 

公告

 
v本文转自 我的程序人生博客园博客,原文链接: http://www.cnblogs.com/wenjl520/archive/2009/04/26/1443731.html如需转载请自行联系原作者
 
 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
flex-messaging-core是一个用于构建富互联网应用程序的技术平台。它提供了一套灵活的消息传递机制,用于在客户端和服务器之间进行实时的双向通信。flex-messaging-core可以与各种不同的后端技术集成,包括Java、.NET和PHP等,使应用程序能够以高效和安全的方式处理大规模数据传输和事件通知。 flex-messaging-core的核心功能包括消息订阅和发布、远程过程调用、推送通知和数据同步等。它提供了一个可扩展的消息架构,允许开发人员定义自定义的消息类型和主题,并且能够灵活地控制消息传输的负载和订阅者之间的权限。通过使用flex-messaging-core,开发人员可以轻松地实现实时的数据交互和协作,为用户提供更好的体验和响应。 flex-messaging-core还提供了一组丰富的开发工具和库,帮助开发人员快速构建和调试应用程序。它支持各种开发环境和IDE,例如Flex Builder和Eclipse等。同时,flex-messaging-core还提供了一套强大的安全性机制,用于保护应用程序和用户的数据,包括身份验证、授权和数据加密等。 总而言之,flex-messaging-core是一个功能强大且灵活的消息传递平台,可以使开发人员更轻松地构建实时的富互联网应用程序。它提供了丰富的功能和开发工具,支持与各种后端技术的集成,同时也为应用程序提供了强大的安全性保护。使用flex-messaging-core,开发人员可以快速实现高效、安全和可扩展的应用程序,满足用户的不同需求。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值