在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与XML的互操作**:Flex通过内置的XML解析功能,可以直接读取和解析XML数据,这使得从服务器获取XML格式的数据并将其展示在Flex应用中变得非常简便。例如,文章中提到的JSP文件生成的XML数据,可以直接被Flex...
Flex中的XML支持E4X,这是一种集成在AS3中的XML处理语法,使XML操作更加直观。E4X允许我们像处理JavaScript对象一样处理XML,例如: ```actionscript var items:Array = xml.root.item.*; for each (var item:XML ...
在Flex开发中,`URLLoader` 是一个非常重要的类,用于加载远程数据,如XML、JSON等。在本示例中,它被用来从服务器获取XML文件并将其内容解析为XML对象,以便在应用程序中使用。`Flex` 是Adobe开发的一个开放源代码...
XML类是ActionScript 3.0中的一个核心类型,它提供了一种强大而灵活的方式来创建、操作和处理XML文档。在Flex中,你可以使用XML类的构造函数来创建新的XML对象,或者解析已经存在的XML字符串或文件。 在"flex解析...
3. **属性和方法**:XML类和XMLList类提供了许多属性和方法来处理XML数据。如`@name`获取元素名,`.text`获取元素文本,`.attributes`访问属性,`.child()`、`.descendants()`等方法遍历子节点。还可以使用`.*`匹配...
XMLDocument的一个显著特点是它可以捕获解析错误,这使得处理XML数据更加安全。然而,其同步加载特性可能导致程序在加载期间阻塞。 三、E4X(ECMAScript for XML) E4X是AS3中内置的XML支持,它使XML操作像处理...
- Flex支持E4X(ECMAScript for XML),它允许直接在JavaScript语法中处理XML。 - 例如,获取XML中的某个节点值: ```actionscript var nodeValue:String = yourXMLNode.@attributeName; ``` - 遍历XML节点: ...
在Flex开发中,XML是一种常用的数据格式,用于存储和传输数据。XML的可读性和结构化特性使得它在各种应用程序中都有广泛的应用,包括数据交换、配置管理等。本篇文章将详细探讨如何在Flex中进行XML的读取、写入以及...
Flex中的E4X,全称为ECMAScript for XML,是一种在ActionScript 3.0中处理XML的强大方式。E4X使得在ActionScript中解析、操作和生成XML变得极其简单,它引入了一系列新的操作符和类,使得XML与JavaScript对象之间的...
在Flex中,XMLList类是XML类的一个子类,专为处理XML节点列表而设计。当XML文档中某个节点有多个子节点时,通常会返回一个XMLList对象。我们可以使用XPath表达式或属性访问语法来访问XMLList中的节点。 接下来,...
#### XML在Flex中的应用 Flex中的Tree组件支持直接加载XML文件作为数据源。这种方式不仅简化了前后端之间的数据传输,还能提高应用程序的响应速度和用户体验。具体来说: 1. **数据格式化**:后端服务器(如ASP...
另一方面,如果从服务器接收XML数据,也可以通过反向操作将XML转换为ArrayCollection,以便在Flex或Flash应用中使用。 在实际项目中,你可能还需要考虑更多细节,如XML的命名空间管理、属性的添加以及错误处理等。...
3. 在Flex客户端接收XML:在Flex中,可以使用URLLoader类加载XML数据,然后使用XMLDecoder解析XML字符串为XML对象。 ```actionscript var urlLoader:URLLoader = new URLLoader(); urlLoader.dataFormat = ...
在Flex开发过程中,`flex-config.xml`文件是一个至关重要的配置文件,它允许开发者自定义Adobe Flex编译器的行为。这个文件通常位于项目的根目录下,用于控制编译过程中的各种选项,包括SWF版本、优化设置、元数据、...
Flex是Adobe公司开发的一种开源框架,主要用于构建富互联网应用程序(RIA)。它基于ActionScript编程语言和MXML标记语言,能够创建交互式、图形...在实际开发中,你可以在`src`目录下找到处理XML的ActionScript代码。
- **Flex解析XML**:在Flex中,我们可以使用`XML`类和`XMLList`类来处理XML数据。它们提供了方便的方法来查询、修改和操作XML文档。 - **Java生成XML**:在Java端,可以使用DOM、SAX或StAX等API来生成和解析XML。...
Flex提供了一种强大而灵活的方式来处理XML数据。在Flex中,XML可以作为一个变量、对象或者通过XMLList来处理。XML对象提供了丰富的API,如addChild、toString等,使得在程序中操作XML变得简单。 2. **XML内容生成*...
在Flex中,通常使用AS3(ActionScript 3)提供的XML类来进行遍历操作。 #### 四、ArcGIS Flex API中的XML解析示例 接下来,我们将基于示例代码详细分析如何使用ArcGIS Flex API进行XML解析。 ##### 4.1 示例代码...
默认情况下,Flex使用Unicode编码(通常是UTF-8或UTF-16)来处理字符串,但如果XML文件使用的是其他编码,如GBK、BIG5等,那么在没有正确指定编码的情况下,Flex将无法正确解析XML中的字符,导致乱码出现。...