`

在Flex3中处理XML

XML 
阅读更多

在Flex3中处理XML文件有两种方法,即:

         1. 使用Model标签;
         2. 使用HTTPService标签;

使用Model标签时,可以直接将XML数据输入在两个Model标签之间,也可以将XML文件的路径赋给Mode标签的source属性,具体代码如下:

         <mx:Application>
               <mx:Model id="model">
                    <>....<>
                    ...xml数据....
                    <>....<>
               </mx:Model>
         </mx:Application>
        
        或者
        
        <mx:Application>
               <mx:Model id="model" source="xml文件路径" />
         </mx:Application>

如上代码,xml文件加载后,要处理加载后的数据,还需要处理Application的creationComplete事件,及给creationComplete事件增加一个处理函数,如:xmlHandle(obj:Object):void,次函数必接受一个Object类型的参数,修改上面的代码如下:

        <mx:Application creationComplete="xmlHandle(model)">
               <mx:Script>
                     <!CDATA[
                             private function xmlHandle(obj:Object):void
                             {
                                   trace(obj.节点....);
                             }
                     ]]>
               </mx:Scirpt>
               <mx:Model id="model" source="xml文件路径" />
         </mx:Application>

使用HTTPService时,HTTPService会调用send()方法将xml文件中的数据发送给SWF文件,当SWF文件接受全部数据后,HTTPService会产生一个result事件,此事件为ResultEvent的一个实例,xml文件的数据会保存在ResultEvent实例的result属性中。HTTPService的lastResult属性也会保存有xml文件的数据,所以要处理加载进来的xml数据,就需要侦听result事件。加载进来的数据会保存在一个ArrayCollection数组中。具体修改代码如下:

         <mx:Application creationComplete="model.send()">
               <mx:Script>
                     <!CDATA[
                             import mx.collection.ArrayCollection;
                             import mx.rpc.events.ResultEvent;

                             
                             private var xmlData:ArrayCollection;
                             private function xmlHandle(evt:ResultEvent):void
                             {
                                   xmlData = evt.result.节点.....
                             }
                     ]]>
               </mx:Scirpt>
               <mx:HTTPService id="model" url="xml文件路径" result="xmlHandle(event)" />
         </mx:Application>

如果在加载xml数据是出错,可以监听HTTPService的fault事件。具体修改代码如下:

                <mx:Script>
                     <!CDATA[
                             import mx.collection.ArrayCollection;
                             import mx.rpc.events.ResultEvent;
                             import mx.rpc.events.FaultEvent;

                             private var xmlData:ArrayCollection;
                             private function xmlHandle(evt:ResultEvent):void
                             {
                                   xmlData = evt.result.节点.....
                             }

                              private function faultHandle(evt:FaultEvent):void
                             {
                                   trace("加载xml出错");
                             }

                     ]]>
               </mx:Scirpt>
               <mx:HTTPService id="model" url="xml文件路径" result="xmlHandle(event)" fault="faultHandle(event)"/>


分享到:
评论

相关推荐

    Flex与JSON及XML的互操作

    - **Flex与XML的互操作**:Flex通过内置的XML解析功能,可以直接读取和解析XML数据,这使得从服务器获取XML格式的数据并将其展示在Flex应用中变得非常简便。例如,文章中提到的JSP文件生成的XML数据,可以直接被Flex...

    Flex里解析XML数据

    Flex中的XML支持E4X,这是一种集成在AS3中的XML处理语法,使XML操作更加直观。E4X允许我们像处理JavaScript对象一样处理XML,例如: ```actionscript var items:Array = xml.root.item.*; for each (var item:XML ...

    Flex之URLLoader加载XML

    在Flex开发中,`URLLoader` 是一个非常重要的类,用于加载远程数据,如XML、JSON等。在本示例中,它被用来从服务器获取XML文件并将其内容解析为XML对象,以便在应用程序中使用。`Flex` 是Adobe开发的一个开放源代码...

    flex解析xml框架实例

    XML类是ActionScript 3.0中的一个核心类型,它提供了一种强大而灵活的方式来创建、操作和处理XML文档。在Flex中,你可以使用XML类的构造函数来创建新的XML对象,或者解析已经存在的XML字符串或文件。 在"flex解析...

    flex解析xml

    3. **属性和方法**:XML类和XMLList类提供了许多属性和方法来处理XML数据。如`@name`获取元素名,`.text`获取元素文本,`.attributes`访问属性,`.child()`、`.descendants()`等方法遍历子节点。还可以使用`.*`匹配...

    readxml flex加载xml文件

    XMLDocument的一个显著特点是它可以捕获解析错误,这使得处理XML数据更加安全。然而,其同步加载特性可能导致程序在加载期间阻塞。 三、E4X(ECMAScript for XML) E4X是AS3中内置的XML支持,它使XML操作像处理...

    flex 操作XML

    - Flex支持E4X(ECMAScript for XML),它允许直接在JavaScript语法中处理XML。 - 例如,获取XML中的某个节点值: ```actionscript var nodeValue:String = yourXMLNode.@attributeName; ``` - 遍历XML节点: ...

    flex 读XML 写XML 并保存为文件

    在Flex开发中,XML是一种常用的数据格式,用于存储和传输数据。XML的可读性和结构化特性使得它在各种应用程序中都有广泛的应用,包括数据交换、配置管理等。本篇文章将详细探讨如何在Flex中进行XML的读取、写入以及...

    Flex处理 xml方法及实例

    Flex中的E4X,全称为ECMAScript for XML,是一种在ActionScript 3.0中处理XML的强大方式。E4X使得在ActionScript中解析、操作和生成XML变得极其简单,它引入了一系列新的操作符和类,使得XML与JavaScript对象之间的...

    flex 解析xml文件 httpservice

    在Flex中,XMLList类是XML类的一个子类,专为处理XML节点列表而设计。当XML文档中某个节点有多个子节点时,通常会返回一个XMLList对象。我们可以使用XPath表达式或属性访问语法来访问XMLList中的节点。 接下来,...

    Flex使用json和xml数据交互

    通过本文的讨论,我们深入了解了Flex框架如何利用JSON和XML进行数据交互,以及如何在Flex应用中与Java服务器端进行有效通信。无论是选择XML的结构化优势还是JSON的简洁性,Flex都能提供强大的支持,帮助开发者构建出...

    flex中tree的数据源是xml

    #### XML在Flex中的应用 Flex中的Tree组件支持直接加载XML文件作为数据源。这种方式不仅简化了前后端之间的数据传输,还能提高应用程序的响应速度和用户体验。具体来说: 1. **数据格式化**:后端服务器(如ASP...

    Flex:ArrayCollection转xml形式的实例

    另一方面,如果从服务器接收XML数据,也可以通过反向操作将XML转换为ArrayCollection,以便在Flex或Flash应用中使用。 在实际项目中,你可能还需要考虑更多细节,如XML的命名空间管理、属性的添加以及错误处理等。...

    动态绑定XML,实现flex树控件的绑定

    3. 在Flex客户端接收XML:在Flex中,可以使用URLLoader类加载XML数据,然后使用XMLDecoder解析XML字符串为XML对象。 ```actionscript var urlLoader:URLLoader = new URLLoader(); urlLoader.dataFormat = ...

    Flex中采用Flex-config.xml进行命令行的编译

    在Flex开发过程中,`flex-config.xml`文件是一个至关重要的配置文件,它允许开发者自定义Adobe Flex编译器的行为。这个文件通常位于项目的根目录下,用于控制编译过程中的各种选项,包括SWF版本、优化设置、元数据、...

    flex 解析xml实例

    Flex是Adobe公司开发的一种开源框架,主要用于构建富互联网应用程序(RIA)。它基于ActionScript编程语言和MXML标记语言,能够创建交互式、图形...在实际开发中,你可以在`src`目录下找到处理XML的ActionScript代码。

    Flex_JSON_XML.zip_flex

    - **Flex解析XML**:在Flex中,我们可以使用`XML`类和`XMLList`类来处理XML数据。它们提供了方便的方法来查询、修改和操作XML文档。 - **Java生成XML**:在Java端,可以使用DOM、SAX或StAX等API来生成和解析XML。...

    flex上:简单的将xml内容生成文件存到本地的一个小例子

    Flex提供了一种强大而灵活的方式来处理XML数据。在Flex中,XML可以作为一个变量、对象或者通过XMLList来处理。XML对象提供了丰富的API,如addChild、toString等,使得在程序中操作XML变得简单。 2. **XML内容生成*...

    ArcGIS Flex API 中的 Flex 技-xml解析

    在Flex中,通常使用AS3(ActionScript 3)提供的XML类来进行遍历操作。 #### 四、ArcGIS Flex API中的XML解析示例 接下来,我们将基于示例代码详细分析如何使用ArcGIS Flex API进行XML解析。 ##### 4.1 示例代码...

    flex读取xml乱码的解决方法

    默认情况下,Flex使用Unicode编码(通常是UTF-8或UTF-16)来处理字符串,但如果XML文件使用的是其他编码,如GBK、BIG5等,那么在没有正确指定编码的情况下,Flex将无法正确解析XML中的字符,导致乱码出现。...

Global site tag (gtag.js) - Google Analytics