`
zwh910621
  • 浏览: 146802 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Flex里解析XML数据

    博客分类:
  • flex
阅读更多

我加了附件,里面是整个工程FLEX+WEB,包括JAR包,只要你tomcat下有blazeds.war就能运行(这是做FLEX项目就基本的,如果不明白,可以看我的更一个博客《MyEclipse+Flex》),需要解析的XML文件也都在里面,希望给初学者带来点帮助,也做为我以后复习的一个好资料

 

简单的Flex项目-----使用flex解析xml

些工程主要的学习点:

使用<mx:HTTPService></mx:HTTPService>解析XML

基本的<mx:DataGrid>格式

<mx:DataGrid id="http_dataGird" dataProvider="{http_test.lastResult.blog.channel.item}在哪里取的数据" width="100%" height="50%">
	<mx:columns>
		<mx:DataGridColumn headerText="给表头起的名字" dataField="title对应的数据"/>
		<mx:DataGridColumn headerText="作者" dataField="author"/>
		<mx:DataGridColumn headerText="类型" dataField="category"/>
		<mx:DataGridColumn headerText="连接" dataField="link"/>
	</mx:columns>
</mx:DataGrid>
 

 

 

 

 

 

最后给初学者的一点介意。新学一样新技术,要多做总结,多练,整理好代码。比如写博客,给别人带来了方便,也给以后自己复习带来了更简明的更清晰的代码例子

 

 

 

下面是我转载的一些XML取值的方法

employeesE4X.xml

 

<employees>
<employee dept="sales">
    <id>1</id>
    <firstName>Bob</firstName>
    <lastName>Smith</lastName>
    <officePhone ext="234">(123)555-1111</officePhone>
</employee>
<employee dept="research">
    <id>2</id>
    <firstName>John</firstName>
    <lastName>Doe</lastName>
    <officePhone ext="1243">(123)555-2222</officePhone>
</employee>
<employee dept="finance">
    <id>3</id>
    <firstName>John</firstName>
    <lastName>Smith</lastName>
    <officePhone ext="9002">(123)555-7777</officePhone>
</employee>
<employee dept="sales">
    <id>4</id>
    <firstName>Jane</firstName>
    <lastName>Jones</lastName>
    <officePhone ext="6211">(123)123-1234</officePhone>
</employee>
<employee dept="finance">
    <id>5</id>
    <firstName>Art</firstName>
    <lastName>DIsgreat</lastName>
    <officePhone ext="3465">(123)777-1212</officePhone>
</employee>
<employee dept="sales">
    <id>6</id>
    <firstName>Brad</firstName>
    <lastName>Notnails</lastName>
    <officePhone ext="4325">(123)765-9876</officePhone>
</employee>
</employees>

列表显示所有数据的MXML.

<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute">
<mx:Script>
   <![CDATA[ 
   import mx.collections.ArrayCollection;
  
   [Bindable]
   private var empOfficePhones:ArrayCollection = new ArrayCollection;
  
   private function dotQuery():void{
    for each(var xml:XML in employees.employee)
    empOfficePhones.addItem(xml.firstName + ": " + xml.officePhone + " ext " + xml.officePhone.@ext );
   }
   ]]> 
</mx:Script>
<mx:XML id="employees" source="employeesE4X.xml"/>
<mx:List dataProvider="{empOfficePhones}" creationComplete="dotQuery()" top="20" width="75%" horizontalCenter="0"/>
</mx:Application>

 

 

列表显示指定标签的MXML

<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute">
<mx:Script>
   <![CDATA[ 
   import mx.collections.XMLListCollection;
   import mx.collections.ArrayCollection;
  
   [Bindable]
   private var empFullNames:ArrayCollection = new ArrayCollection;
  
   private function combineQuery():void{
    for each(var xml:XML in employees.employee)
   empFullNames.addItem(xml.firstName + " " + mxl.lastName));
   }
   ]]> 
</mx:Script>
<mx:XML id="employees" source="employeesE4X.xml"/>
<mx:List dataProvider="{empFullNames}" id="listCombining" creationComplete="combineQuery()" top="20" width="75%" horizontalCenter="0" editable="false"/>
</mx:Application>

 

从XML文件中获取搜索结果的MXML

<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute">
<mx:Script>
   <![CDATA[ 
   import mx.collections.ArrayCollection;
  
   [Bindable]
   private var empDept:ArrayCollection = new ArrayCollection;
  
   private function searchQuery():void{
    for each(var xml:XML in employees.employee.(@dept == "finance"))
    empDept.addItem(xml.firstName + " " + xml.lastName + "'s Department is " + xml.@dept);
   }
   ]]> 
</mx:Script>
<mx:XML id="employees" source="employeesE4X.xml"/>
<mx:List dataProvider="{empDept}" creationComplete="searchQuery()" top="20" left="20" width="75%" horizontalCenter="0" editable="false"/>
</mx:Application>

修改XML文件指定标签内容的MXML例子

<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute">
<mx:Script>
   <![CDATA[ 
   import mx.collections.ArrayCollection;
  
   private function changeDepartment(event:MouseEvent):void {
    employees.employee.(id==1).@dept = tiDept.text;
   }
   ]]> 
</mx:Script>
<mx:XML id="employees" source="employeesE4X.xml"/>
<mx:Canvas width="100%" height="100%">
   <mx:Form top="20" left="20" width="75%" horizontalCenter="0" fontWeight="bold">
    <mx:FormItem label="firstName">
     <mx:TextInput text="{employees.employee.(id==1).firstName}" editable="false"/>
    </mx:FormItem>
    <mx:FormItem label="lastName">
     <mx:TextInput text="{employees.employee.(id==1).lastName}" editable="false"/>
    </mx:FormItem>
    <mx:FormItem id="formItemDept" label="Department">
     <mx:TextInput id="tiDept" text="{employees.employee.(id==1).@dept}" editable="true"/>
    </mx:FormItem>
    <mx:Spacer height="20"/>
    <mx:HBox horizontalAlign="center" width="{formItemDept.width}">
     <mx:Button width="200" click="changeDepartment(event)" label="Change Bob Smith's Dept"/>
    </mx:HBox>
   </mx:Form>
</mx:Canvas>
</mx:Application>

 

4
2
分享到:
评论
1 楼 avanry 2009-12-17  
不知道flex支持修改xml不...
flex的打印很不令人满意

相关推荐

    flex解析xml框架实例

    本文将深入探讨如何使用Flex解析XML框架,结合HTTPService组件,实现从服务器接收并解析XML数据的实例。 首先,让我们理解Flex中的XML类。XML类是ActionScript 3.0中的一个核心类型,它提供了一种强大而灵活的方式...

    flex解析xml

    总结,Flex解析XML文件主要通过XML和XMLList类,它们提供了丰富的API来操作XML数据。理解这些概念和方法,将有助于你在Flex应用中有效地处理和展示XML数据。无论是简单的数据展示还是复杂的交互逻辑,Flex都能通过...

    flex 解析xml文件 httpservice

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

    flex中tree的数据源是xml

    3. **数据渲染**:Flex Tree组件解析XML文件,并根据其中的数据动态构建可视化的树形结构。 #### ASP.NET处理流程详解 在上述描述中提到了如何利用ASP.NET进行数据处理并生成XML文件的具体实现方式。下面将详细...

    flex解析xml文件

    4. 创建数据提供源:将处理后的XML数据集合赋值给`xmlArr.children()`,这将为ComboBox创建一个数据提供源。然后,我们将这个数据提供给`driverTemplate.dataProvider`,这样ComboBox就可以显示这些数据。 5. 设置...

    flex 解析xml实例

    4. **XML与对象绑定**:Flex支持将XML数据绑定到UI组件,使得数据变化时UI自动更新。例如,将XML数据绑定到列表控件: ```actionscript &lt;mx:List dataProvider="{xmlData.item}" /&gt; ``` 5. **XML表达式**:Flex...

    Flex与JSON及XML的互操作

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

    flex DataGrid xml 动态数据列表实例

    2. **加载XML数据**:在Flex应用中,我们可以使用`XML`类加载并解析XML文件。例如: ```actionscript var urlLoader:URLLoader = new URLLoader(); urlLoader.dataFormat = URLLoaderDataFormat.TEXT; urlLoader....

    Flex+SpringMVC HttpService 发送XML数据

    1. Flex发送:在Flex客户端,当用户触发某个操作时,HttpService发送XML数据到服务器,数据内容由Flex的XML对象构建。 2. 春天处理:SpringMVC接收到请求后,通过XMLMessageConverter解析XML数据,然后将数据传递给...

    readxml flex加载xml文件

    // 这里处理解析后的XML数据 } ``` XMLLoader的优点在于它的异步加载能力,能够提高应用响应速度。但缺点是无法处理加载过程中的错误,需要额外添加错误处理代码。 二、XMLDocument XMLDocument类提供了另一种方式...

    Flex之URLLoader加载XML

    - `public var menus:XML` 定义了一个XML变量,用于存储加载的XML数据。 - `[Bindable]` 属性标记的 `completeHandle` 函数将在加载完成时被调用。 2. `completeHandle` 函数是事件处理器,当`URLLoader`完成...

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

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

    flex 操作XML

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

    ArcGIS Flex API 中的 Flex 技-xml解析

    示例代码来自`GeoRSSUtil.as`类,该类提供了一系列方法来解析GeoRSS格式的XML数据,其中`toGeometry`方法是核心,用于将XML中的地理坐标转换为`Geometry`对象。 ##### 4.2 `toGeometry`方法详解 - **GEOWGS命名...

    flex外部读取xml

    在Flex编程中,读取XML文件是常见的数据交互方式,特别...通过HTTP服务获取XML数据,然后利用`XMLArrayCollection`进行解析,最后将解析出的数据映射到UI组件中。这个过程是Flex开发中常见的数据驱动UI的一种实现方式。

    flex 解析xml绑定到combobox点击按钮把combobox所选的数据添加到List

    在Flex开发中,数据绑定和用户交互是两个关键部分,本示例主要展示了如何将XML数据解析并绑定到ComboBox控件,以及如何通过点击Button按钮将ComboBox选定的值添加到List列表中。以下是对这个小例子的详细解释: 1. ...

    flex 读XML 写XML 并保存为文件

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

    AMF抓取flex页面数据

    总之,AMF抓取Flex页面数据是一项涉及网络通信、数据解析和模拟用户行为的复杂任务。通过理解AMF协议和使用相应的工具,开发者可以有效地获取和分析Flex应用中的数据。在实践过程中,注意遵守道德和法律规定,保护...

Global site tag (gtag.js) - Google Analytics