`
liuys
  • 浏览: 2984 次
  • 性别: Icon_minigender_1
  • 来自: 北京
最近访客 更多访客>>
文章分类
社区版块
存档分类
最新评论

Flex遍历外部xml,求最大值

阅读更多

在网上找了很多资料,大都是根据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外部读取xml

    本示例中,我们看到一个Flex应用通过使用ActionScript 3来从外部XML文件加载数据,并将这些数据用于创建图形界面元素。 首先,XML文件的结构对于正确解析至关重要。在示例中没有给出具体的XML文件内容,但我们可以...

    Flex里解析XML数据

    解析XML数据通常涉及到访问XML节点、获取属性值和遍历XML树。例如,我们可以通过节点名和属性名来访问特定的数据: ```actionscript var itemName:String = xml.root.item[0]; var itemAttrValue:String = xml.root...

    Flex调用xml通过DataGrid遍历简单示例

    &lt;?xml version="1.0" encoding="utf-8"?&gt; creationComplete="service.send()" &gt; &lt;![CDATA[ import mx.controls.Alert; import mx.rpc.events.FaultEvent; import mx.collections.ArrayCollection; ...

    flex解析xml框架实例

    在Flex开发中,XML是一种常见的数据传输格式,特别是在与服务器进行数据交互时。本文将深入探讨如何使用Flex解析XML框架,结合HTTPService组件,实现从服务器接收并解析XML数据的实例。 首先,让我们理解Flex中的...

    Flex 遍历Object键和值的示例代码

    在Flex编程中,有时我们需要遍历一个Object对象的键(keys)和值(values),以进行数据处理或显示。在ActionScript 3.0中,这是通过循环结构来完成的。下面将详细介绍如何使用Flex遍历Object的键和值。 首先,让...

    flex 解析xml文件 httpservice

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

    flex 解析xml实例

    1. **创建XML对象**:在Flex中,你可以通过XML()构造函数创建一个XML对象,然后加载XML字符串或文件。例如: ```actionscript var xmlData:XML = new XML("&lt;root&gt;&lt;item&gt;Value1&lt;/item&gt;&lt;item&gt;Value2&lt;/item&gt;&lt;/root&gt;")...

    flex解析xml

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

    ArcGIS Flex API 中的 Flex 技-xml解析

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

    flex 操作XML

    在Flex开发中,XML是一种常用的数据格式,用于存储和传输数据。XML(eXtensible Markup Language)具有自解释性,结构清晰,易于人和机器阅读。本篇将重点讲解如何在Flex中操作XML,包括从本地读取XML文件以及通过...

    Flex与JSON及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 Ajax struts2 xml flex Ajax struts2 xml flex Ajax struts2 xml flex Ajax struts2 xml flex

    flex解析xml文件

    3. 遍历XML节点:接着,我们遍历`xml.children()`,这将返回XML文档中的所有顶级元素(在这个例子中是`dataSource`元素)。对于每个元素,我们创建一个新的`dataSource`节点,并将相应的属性赋值给它,如`@type`、`...

    readxml flex加载xml文件

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

    Flex之URLLoader加载XML

    - `for` 循环遍历所有的子节点,并通过 `attribute("label")` 和 `attribute("data")` 访问它们的属性值。 3. `initApp` 函数在应用程序创建完成后调用,负责初始化加载过程: - 创建一个 `URLRequest` 对象,...

    Flex:ArrayCollection转xml形式的实例

    接着,我们遍历ArrayCollection中的每个元素,将其包装为`&lt;fruit&gt;`节点,并添加到XML文档中。最后,我们将整个XML文档转换为字符串并输出。 这个实例对于理解数据转换非常有用,特别是在处理与服务器之间的数据交换...

    flex 读XML 写XML 并保存为文件

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

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

    在Flex开发中,动态绑定XML是一种常见的数据驱动技术,它允许开发者通过XML文件来存储和管理数据,并将这些数据实时地展示在用户界面中,如树形控件。本示例着重讲解如何利用动态绑定XML来实现Flex树控件的绑定,...

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

    在Flex开发环境中,`flex-config.xml`文件是一个至关重要的配置文件,它允许开发者自定义Adobe Flex编译器的行为。这个文件通常位于项目的根目录下,或者在全局的Flex SDK安装路径中,对于命令行编译尤其重要。通过...

Global site tag (gtag.js) - Google Analytics