`
天梯梦
  • 浏览: 13731304 次
  • 性别: Icon_minigender_2
  • 来自: 洛杉矶
社区版块
存档分类
最新评论

Flex读取xml文件

阅读更多

主要有两个方法:

 

(1)通过HTTPService

(2)通过URLLoader

 

代码如下:

 

mxml代码

 

<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" creationComplete="init()">
<mx:Script>
   <![CDATA[
    import mx.collections.ArrayCollection;
    import mx.rpc.events.ResultEvent;
    import mx.rpc.http.HTTPService;
   
    public const xmlUrl:String = "config.xml";
    [Bindable] private var colors1:ArrayCollection;
    [Bindable] private var colors2:XML;
   
    private function init():void{
     //方法一:通过HTTPService
     var service:HTTPService = new HTTPService();
     service.url = xmlUrl;
     service.addEventListener(ResultEvent.RESULT, resultHandler);
     service.send();
    
     //方法二:通过URLLoader
     var request:URLRequest = new URLRequest(xmlUrl);
     var loader:URLLoader = new URLLoader(request);
     loader.addEventListener(Event.COMPLETE, loaderCompleteHandler);
    }
   
    private function resultHandler(event:ResultEvent):void{
     colors1 = event.result.colors.color;
    }
   
    private function loaderCompleteHandler(event:Event):void{
     colors2 = new XML(event.target.data);
    }
   ]]>
</mx:Script>
<mx:List x="100" y="150" dataProvider="{colors1}" labelField="name">
</mx:List>
<mx:List x="300" y="150" dataProvider="{colors2.color}" labelField="@name">
</mx:List>
</mx:Application>
 

config.xml文件

 

<colors>
<color name="LightGrey" value="#D3D3D3"/>
<color name="Silver" value="#C0C0C0"/>
<color name="DarkGray" value="#A9A9A9"/>
<color name="Gray" value="#808080"/>
<color name="DimGray" value="#696969"/>
<color name="Black" value="#000000"/>
</colors>

 

实例:

 

登录

 

<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute">
	<mx:Script>
		<![CDATA[
			import mx.controls.Alert;
			import mx.rpc.events.ResultEvent;
			import flash.net.navigateToURL;
			
			private function goLogin():void{
				login.send();
			}
			private function resultHandler(event:ResultEvent):void{
				var entry:String = event.result.users.a.toString();
				if(entry == 'ok'){
		
				}else{
					Alert.show('Username or Password is/are wrong !');
				}				
			}
		]]>
	</mx:Script>
	<mx:HTTPService id="login" method="POST" showBusyCursor="true" url="flexlogin.php" result="resultHandler(event)">
		<mx:request xmlns="">
			<mx:username> {username.text} </mx:username>
			<mx:userpwd> {userpwd.text} </mx:userpwd>
		</mx:request>
	</mx:HTTPService>
	
	<mx:Panel width="310" height="265" layout="absolute" title="登录" fontSize="12" fontWeight="normal">
		<mx:TextInput x="93" y="51" id="username" fontSize="12"/>
		<mx:TextInput x="92" y="95" id="userpwd" fontSize="12" displayAsPassword="true"/>
		<mx:Button x="73" y="154" label="登录" id="btn1" click="goLogin()" fontWeight="normal" fontSize="12"/>
		<mx:Label x="32" y="53" text="用户名:" fontSize="12"/>
		<mx:Label x="43" y="97" text="密码:" fontSize="12"/>
		<mx:Button x="154" y="154" label="注册" fontSize="12" fontWeight="normal" id="btn2"/>
		<mx:Label x="10" y="10" text="测试用 用户名 User 密码 123456" fontSize="12" width="243"/>
	</mx:Panel>
	
</mx:Application>

 

flexlogin.php

 

<?php     
$return="";
if(isset($_POST[username]) && isset($_POST[userpwd])){
 if ("User"==$_POST[username] && "123456"==$_POST[userpwd])
    $return="ok";
 else
    $return="error";
}
$xml_return = '<users>';
$xml_return.= '<a>'.$return.'</a>';
$xml_return.= '</users>';
echo $xml_return;
 

实例:

 

rss

 

<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" creationComplete="feedRequest.send()">
	<mx:Script>
		<![CDATA[
			import flash.net.navigateToURL;
		]]>
	</mx:Script>
	<!-- 利用flex获取并显示数据2 -->
	<mx:HTTPService id="feedRequest" url="flexXml.xml" useProxy="false"/>
	
	<mx:Panel x="10" y="10" width="475" height="400" layout="absolute" title="{feedRequest.lastResult.rss.channel.title}" >
		
		<mx:DataGrid x="10" y="10" id="dgPosts" width="400" dataProvider="{feedRequest.lastResult.rss.channel.item}">
			<mx:columns>
				<mx:DataGridColumn headerText="Posts" dataField="title"/>
				<mx:DataGridColumn headerText="Date" dataField="pubDate" width="150"/>
			</mx:columns>
		</mx:DataGrid>
		
		<mx:LinkButton x="10" y="225" label="Read full part" click="navigateToURL(new URLRequest(dgPosts.selectedItem.link));"/>
		<mx:TextArea x="10" y="175" width="400" htmlText="{dgPosts.selectedItem.description}"/>
		
	</mx:Panel>
	
</mx:Application>
 

flexXml.xml

 

<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0">
	<!-- 该文件放到tomcat的root目录 -->
	<channel>
		<title>你好,flex获取并显示数据</title>

		<item>
			<title>hello world</title>
			<description> this is a best exanple in flex,you can do it with me ,and may you hava a wanderful future </description>
			<link>http://hi.baidu.com/shiryu963</link>
			<guid>http://hi.baidu.com/shiryu963</guid>
			<category>general</category>
			<pubDate>2009.6.8 12:17:11</pubDate>
		</item>

		<item>
			<title>hello kava</title>
			<description> best wishs to me,this is a best exanple in flex,you can do it with me ,and may you hava a wanderful future </description>
			<link>http://hi.baidu.com/shiryu963</link>
			<guid>gech.com</guid>
			<category>general</category>
			<pubDate>2009.8.8 6:20:11</pubDate>
		</item>

		<item>
			<title>hello shiryu</title>
			<description> i hava a best wish to you,this is a best exanple in flex,you can do it with me ,and may you hava a wanderful future </description>
			<link>http://hi.baidu.com/shiryu963</link>
			<guid>hahahhahhahahah</guid>
			<category>improtant</category>
			<pubDate>2009.4.22 6:20:11</pubDate>
		</item>
	</channel>
</rss>

 

 

分享到:
评论
2 楼 天梯梦 2011-03-23  
tomfish88 写道
config.xml  的路径怎么写? 放在哪个路径下啊

同一目录下
1 楼 tomfish88 2011-03-22  
config.xml  的路径怎么写? 放在哪个路径下啊

相关推荐

    Flex读取xml文件几种方法

    ### Flex读取XML文件的几种方法 在Flex开发过程中,经常需要处理XML数据。XML(Extensible Markup Language)是一种标记语言,被广泛用于结构化文档和数据存储。Flex提供了多种方式来读取和解析XML文件,包括使用`...

    flex读取xml乱码的解决方法

    在探讨“Flex读取XML乱码的解决方法”这一主题时,我们首先需要理解几个关键概念:Flex框架、XML文件以及编码问题。Flex是一种用于构建跨平台桌面应用程序和移动应用程序的强大框架,它由Adobe Systems开发并开源。...

    readxml flex加载xml文件

    本篇文章将深入探讨在Flex中读取XML文件的三种主要方法,并对它们进行比较。 一、XMLLoader XMLLoader是ActionScript 3中的一个类,专门用于加载和解析XML文档。使用XMLLoader,可以异步加载XML,这意味着主程序...

    flex 解析xml文件 httpservice

    本篇文章将深入探讨如何使用Flex解析XML文件,并通过HTTPService来读取XML内容,以及如何根据需求过滤字符串并获取所需值。 首先,让我们了解Flex中的XML类。XML类是ActionScript 3.0中用于处理XML文档的主要工具,...

    Flex读取XML不刷新问题

    ### Flex读取XML不刷新问题解析 在Flex应用开发中,常常会遇到读取XML数据时出现不刷新的问题。这不仅影响用户体验,也可能导致数据处理出现异常情况。本文将从多个角度深入分析此问题,并提供可能的解决方案。 ##...

    用flex读取xml然后循环生成buttoon

    用flex读取xml然后循环生成buttoon

    flex 读XML 写XML 并保存为文件

    首先,读取XML文件内容,然后使用反序列化函数将XML数据转换回图形对象,并在Flex应用中显示出来。 总结,Flex中对XML的操作包括读取、写入和保存,可以结合E4X和FileReference类实现。同时,通过序列化和反序列化...

    flex 操作XML

    本篇将重点讲解如何在Flex中操作XML,包括从本地读取XML文件以及通过HttpServer获取远程XML数据。 1. **XML基础**: - XML是一种标记语言,它定义了一组规则来创建自己的标签,这些标签用于描述数据。 - XML文档...

    flex读取试卷的xml文件 并做成考试系统

    下面将详细阐述如何使用Flex来读取XML文件,以及如何构建一个简易的考试系统。 首先,我们需要了解Flex中读取XML的基本步骤。在ActionScript 3(AS3),Flex的主要编程语言中,我们可以使用`XML`类来处理XML数据。...

    flex用两种方法读取xml文件

    本文将深入探讨两种在Flex中读取XML文件的方法:HTTPService和URLLoader。 1. 使用HTTPService读取XML文件 HTTPService是Flex提供的一种用于与Web服务器进行异步通信的组件,它基于HTTP协议。以下是如何使用...

    flex 解析xml实例

    本实例将探讨如何在Flex中解析XML,以读取XML标签并获取信息。 首先,XML(eXtensible Markup Language)是一种结构化数据语言,它的主要特点是结构清晰、易于阅读和编写,并且可以被机器和人类同时理解。在Flex中...

    Flex 读取xml文件的方法

    在Flex开发中,读取XML文件是常见的数据交互方式,特别是在构建富互联网应用程序时。XML因其结构化和可扩展性,常被用作数据存储和传输格式。以下将详细介绍两种在Flex中读取XML文件的方法,并简要提及如何写入XML...

    flex外部读取xml

    在Flex编程中,读取XML文件是常见的数据交互方式,特别是在构建富互联网应用程序(RIA)时,用于存储和传输数据。本示例中,我们看到一个Flex应用通过使用ActionScript 3来从外部XML文件加载数据,并将这些数据用于...

    flex-demo(读取xml文件)

    标题“flex-demo(读取xml文件)”涉及到的是一个Flex应用程序示例,该示例用于演示如何在Flex项目中读取XML文件。Flex是一种基于ActionScript和MXML的开放源代码框架,常用于构建富互联网应用(RIA)。在这个demo中,...

    Flex与JSON及XML的互操作

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

    flex通过httpService读取xml数据到datagird中

    flex通过httpService读取xml数据到datagird中,通过读取远程URL的XML数据(这里保存到本地),保存到ArrayCollection中,然后在将ArrayCollection绑定到datagird上 环境:flex3.0 可直接运行

    Flex处理 xml方法及实例

    总的来说,E4X在Flex中为XML处理提供了一种简洁、强大的语法,使得开发者可以更加直观地进行XML数据的读取、操作和生成,大大提高了开发效率。无论是从外部数据源加载XML,还是在应用内部创建和操作XML,E4X都为...

    Flex读取txt文本

    标题“Flex读取txt文本”暗示我们将探讨如何在Flex项目中实现从TXT文件中读取数据。在Flex中,我们可以利用Flash Player的File和FileReference类来处理本地文件系统中的文件。下面将详细介绍这一过程。 1. **使用...

    flex 操作xml 实现增删改查

    #### 三、读取外部XML文件 除了直接创建XML对象之外,通常还需要从外部文件加载XML数据。这可以通过Flex的网络请求API实现,具体步骤如下: 1. **导入必要的包**: ```actionscript import flash.events.Event; ...

    随记:flex发送XML到servlet

    1. "Flex发送XML数据中文乱码的解决.doc" - 这个文档很可能包含了关于在Flex与Servlet间传输包含中文字符的XML数据时遇到的乱码问题,以及对应的解决方案。通常,乱码问题可能由于字符编码不一致或者缺少正确的字符...

Global site tag (gtag.js) - Google Analytics