在网上找了很多资料,大都是根据HTTPService获取,但是不能进行遍历,只能通过
<mx:Model id="m" source="data/data1.xml"/>
<mx:ArrayCollection id="ac" source="{ArrayUtil.toArray(m.result)}"/>
才可以遍历,下面是完整的代码。
首先是外部的xml文件,data/data1.xml如下:
<?xml version="1.0" encoding="UTF-8"?>
<data>
<result date="11.01.11">
<news>270</news>
<radio>0</radio>
<forum>0</forum>
<blog>80</blog>
<sns>80</sns>
<question>1</question>
</result>
<result date="11.01.12">
<news>190</news>
<radio>10</radio>
<forum>10</forum>
<blog>20</blog>
<sns>20</sns>
<question>11</question>
</result>
<result date="11.01.13">
<news>185</news>
<radio>20</radio>
<forum>2</forum>
<blog>10</blog>
<sns>22</sns>
<question>3</question>
</result>
<result date="11.01.14">
<news>300</news>
<radio>12</radio>
<forum>200</forum>
<blog>15</blog>
<sns>30</sns>
<question>15</question>
</result>
<result date="11.01.15">
<news>310</news>
<radio>0</radio>
<forum>14</forum>
<blog>18</blog>
<sns>30</sns>
<question>18</question>
</result>
<result date="11.01.16">
<news>360</news>
<radio>14</radio>
<forum>3</forum>
<blog>10</blog>
<sns>11</sns>
<question>20</question>
</result>
<result date="11.01.17">
<news>290</news>
<radio>14</radio>
<forum>6</forum>
<blog>20</blog>
<sns>29</sns>
<question>9</question>
</result>
<result date="11.01.18">
<news>365</news>
<radio>0</radio>
<forum>9</forum>
<blog>2</blog>
<sns>30</sns>
<question>7</question>
</result>
<result date="11.01.19">
<news>280</news>
<radio>5</radio>
<forum>0</forum>
<blog>5</blog>
<sns>25</sns>
<question>10</question>
</result>
<result date="11.01.20">
<news>0</news>
<radio>270</radio>
<forum>15</forum>
<blog>30</blog>
<sns>22</sns>
<question>2</question>
</result>
<result date="11.01.21">
<news>320</news>
<radio>90</radio>
<forum>2</forum>
<blog>20</blog>
<sns>28</sns>
<question>13</question>
</result>
</data>
下面mxml文件:
<?xml version="1.0"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml"
layout="absolute"
verticalAlign="middle"
backgroundColor="white"
initialize="initValue();"
width="700"
height="410">
<mx:Script>
<![CDATA[
import mx.utils.ArrayUtil;
import mx.controls.Alert;
import mx.collections.ArrayCollection;
[Bindable]
public var myData:ArrayCollection;
[Bindable]
public var max:Number = 0;
private function initValue():void{
max = ac.getItemAt(0)["news"];
for(var i:int=0;i<ac.length;i++){
for(var j:String in ac.getItemAt(i)){
//如果不是Number类型则不作比较
if(!ac.getItemAt(i)[j] is Number){
continue;
}
//遍历json对象
if(ac.getItemAt(i)[j] > max){
max = ac.getItemAt(i)[j];
}
}
}
}
]]>
</mx:Script>
<mx:SolidColor id="sc1" color="blue" alpha=".3"/>
<mx:SolidColor id="sc2" color="red" alpha=".3"/>
<mx:SolidColor id="sc3" color="green" alpha=".3"/>
<mx:SolidColor id="sc4" color="yellow" alpha=".3"/>
<mx:SolidColor id="sc5" color="purple" alpha=".3"/>
<mx:SolidColor id="sc6" color="black" alpha=".3"/>
<mx:Stroke id = "s1" color="blue" weight="2"/>
<mx:Stroke id = "s2" color="red" weight="2"/>
<mx:Stroke id = "s3" color="green" weight="2"/>
<mx:Stroke id = "s4" color="yellow" weight="2"/>
<mx:Stroke id = "s5" color="purple" weight="2"/>
<mx:Stroke id = "s6" color="black" weight="2"/>
<mx:Model id="m" source="data/data1.xml"/>
<mx:ArrayCollection id="ac" source="{ArrayUtil.toArray(m.result)}"/>
<mx:Panel title="网站类型指数"
height="100%" width="100%" layout="horizontal">
<mx:Label text="{'最大值是:'+max}"/>
<mx:Legend dataProvider="{lineChart}"
markerHeight="5" markerWidth="15"/>
<mx:LineChart id="lineChart" height="100%" width="100%"
paddingLeft="5" paddingRight="5"
showDataTips="true" dataProvider="{ac}">
<mx:horizontalAxis>
<mx:CategoryAxis categoryField="date"/>
</mx:horizontalAxis>
<mx:series>
<mx:LineSeries yField="news" form="curve" displayName="新闻" lineStroke="{s1}" />
<mx:LineSeries yField="radio" form="curve" displayName="视频" lineStroke="{s2}"/>
<mx:LineSeries yField="forum" form="curve" displayName="论坛" lineStroke="{s3}"/>
<mx:LineSeries yField="blog" form="curve" displayName="博客" lineStroke="{s4}" />
<mx:LineSeries yField="sns" form="curve" displayName="SNS" lineStroke="{s5}"/>
<mx:LineSeries yField="question" form="curve" displayName="问答" lineStroke="{s6}"/>
</mx:series>
</mx:LineChart>
</mx:Panel>
</mx:Application>
就可以成功的找出配置文件中的最大值。
分享到:
相关推荐
本示例中,我们看到一个Flex应用通过使用ActionScript 3来从外部XML文件加载数据,并将这些数据用于创建图形界面元素。 首先,XML文件的结构对于正确解析至关重要。在示例中没有给出具体的XML文件内容,但我们可以...
解析XML数据通常涉及到访问XML节点、获取属性值和遍历XML树。例如,我们可以通过节点名和属性名来访问特定的数据: ```actionscript var itemName:String = xml.root.item[0]; var itemAttrValue:String = xml.root...
<?xml version="1.0" encoding="utf-8"?> creationComplete="service.send()" > <![CDATA[ import mx.controls.Alert; import mx.rpc.events.FaultEvent; import mx.collections.ArrayCollection; ...
在Flex开发中,XML是一种常见的数据传输格式,特别是在与服务器进行数据交互时。本文将深入探讨如何使用Flex解析XML框架,结合HTTPService组件,实现从服务器接收并解析XML数据的实例。 首先,让我们理解Flex中的...
在Flex编程中,有时我们需要遍历一个Object对象的键(keys)和值(values),以进行数据处理或显示。在ActionScript 3.0中,这是通过循环结构来完成的。下面将详细介绍如何使用Flex遍历Object的键和值。 首先,让...
本篇文章将深入探讨如何使用Flex解析XML文件,并通过HTTPService来读取XML内容,以及如何根据需求过滤字符串并获取所需值。 首先,让我们了解Flex中的XML类。XML类是ActionScript 3.0中用于处理XML文档的主要工具,...
1. **创建XML对象**:在Flex中,你可以通过XML()构造函数创建一个XML对象,然后加载XML字符串或文件。例如: ```actionscript var xmlData:XML = new XML("<root><item>Value1</item><item>Value2</item></root>")...
总结,Flex解析XML文件主要通过XML和XMLList类,它们提供了丰富的API来操作XML数据。理解这些概念和方法,将有助于你在Flex应用中有效地处理和展示XML数据。无论是简单的数据展示还是复杂的交互逻辑,Flex都能通过...
在Flex中,通常使用AS3(ActionScript 3)提供的XML类来进行遍历操作。 #### 四、ArcGIS Flex API中的XML解析示例 接下来,我们将基于示例代码详细分析如何使用ArcGIS Flex API进行XML解析。 ##### 4.1 示例代码...
在Flex开发中,XML是一种常用的数据格式,用于存储和传输数据。XML(eXtensible Markup Language)具有自解释性,结构清晰,易于人和机器阅读。本篇将重点讲解如何在Flex中操作XML,包括从本地读取XML文件以及通过...
### Flex与JSON及XML的互操作:深度解析 #### 核心知识点概览 1. **Flex框架**:一种开源框架,允许开发者使用MXML语言和ActionScript 3构建Flash应用程序,尤其适用于创建富互联网应用(RIA)。 2. **JSON...
Ajax struts2 xml flex Ajax struts2 xml flex Ajax struts2 xml flex Ajax struts2 xml flex Ajax struts2 xml flex Ajax struts2 xml flex
3. 遍历XML节点:接着,我们遍历`xml.children()`,这将返回XML文档中的所有顶级元素(在这个例子中是`dataSource`元素)。对于每个元素,我们创建一个新的`dataSource`节点,并将相应的属性赋值给它,如`@type`、`...
本篇文章将深入探讨在Flex中读取XML文件的三种主要方法,并对它们进行比较。 一、XMLLoader XMLLoader是ActionScript 3中的一个类,专门用于加载和解析XML文档。使用XMLLoader,可以异步加载XML,这意味着主程序...
- `for` 循环遍历所有的子节点,并通过 `attribute("label")` 和 `attribute("data")` 访问它们的属性值。 3. `initApp` 函数在应用程序创建完成后调用,负责初始化加载过程: - 创建一个 `URLRequest` 对象,...
接着,我们遍历ArrayCollection中的每个元素,将其包装为`<fruit>`节点,并添加到XML文档中。最后,我们将整个XML文档转换为字符串并输出。 这个实例对于理解数据转换非常有用,特别是在处理与服务器之间的数据交换...
在Flex开发中,XML是一种常用的数据格式,用于存储和传输数据。XML的可读性和结构化特性使得它在各种应用程序中都有广泛的应用,包括数据交换、配置管理等。本篇文章将详细探讨如何在Flex中进行XML的读取、写入以及...
在Flex开发中,动态绑定XML是一种常见的数据驱动技术,它允许开发者通过XML文件来存储和管理数据,并将这些数据实时地展示在用户界面中,如树形控件。本示例着重讲解如何利用动态绑定XML来实现Flex树控件的绑定,...
在Flex开发环境中,`flex-config.xml`文件是一个至关重要的配置文件,它允许开发者自定义Adobe Flex编译器的行为。这个文件通常位于项目的根目录下,或者在全局的Flex SDK安装路径中,对于命令行编译尤其重要。通过...