`

flex4操作xml文件实例

    博客分类:
  • Flex
阅读更多

本实例共两个文件:

1、主程序:test.mxml

<?xml version="1.0" encoding="utf-8"?>
<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009"
      xmlns:s="library://ns.adobe.com/flex/spark"
      xmlns:mx="library://ns.adobe.com/flex/halo" minWidth="1024" minHeight="768"
      creationComplete="init();">
<fx:Script>
   <![CDATA[
    import mx.rpc.events.ResultEvent;
    [Bindable]
    private var selfXML:XML = new XML();    //外部xml文件对象
    private var selfXMLList:XMLList = new XMLList();
   
    private function init():void{
     areaNoteID.text = "一、访问外部xml文件的方式:\n" +
      "采用httpService的方式,返回值强制转化为XML类对象,用此对象操纵xml节点。\n\n\n" +
      "二、解析外部xml文件的原则:\n" +
      "   1、采用flex的XML类;\n" +
      "   2、由类对象发起看,不用根节点,从二级节点开始逐层引用(必须是逐层的)。例如:\n" +
      "        obj.[二级节点].[...].[基层节点],根据不同情况,每个节点都可看成一个数组对象。\n" +
      "        就像上面的selfXML.b.c.d[0]一样。\n" +
      "   3、必须是字符串形式的数据才能赋值给节点。\n\n\n" +
      "三、解析自定义动态xml文件的原则:\n" +
      "   1、<><a></a></>中a是根节点,所以操纵xml时从b开始。\n\n\n" +
      "四、XML类和XMLList类的区别:\n" +
      "   1、XML类直接操作xml文件,并获取里面的数据。\n" +
      "   2、XMLList类可以动态定义xml文件,可绑定到DataGrid等组件上。";
    }
   
    private function mySend01():void{    //访问外部xml文件
     service01ID.url = "testXML.xml";
     service01ID.method = "get";
     service01ID.resultFormat = "e4x";    //resultFormat的值必须是小写的
     service01ID.send();
    }
   
    private function getXML01(evtSelect:ResultEvent):void{
     selfXML = service01ID.lastResult as XML;
     textArea01ID.text = selfXML;
     res01ID.text = "selfXML.b.c.d[0] = " + selfXML.b.c.d[0] + "\n" +
                "selfXML.child('b')[1].c.d[1] = " + selfXML.child("b")[1].c.d[1] + "\n" +
          "selfXML.d = " + selfXML.child("d")[0];
    }
   
    private function creatSelfXML():void{
     selfXMLList =
        <>
                       <a>
                          <b>
                <c>
                   <d>刘德华</d>
                   <d>张学友</d>
                             </c>
                          </b>
                       </a>
        <a>
             <b>
                <c>
                   <d>郑源</d>
                   <d>香港</d>
                             </c>
                <c>
                   <d>威尼斯</d>
                   <d>休斯顿</d>
                             </c>
                         </b>
                       </a>
                    </>;
     textArea02ID.text = selfXMLList;
     res02ID.text = "selfXMLList.b.c.d[2] = " + selfXMLList.b.c.d[2] + "\n" +
                "selfXMLList.child('b').c.d[3] = " + selfXMLList.child("b").c.d[3];
    }
   
    private function changelXML():void{
     var num:Number = 1;
     selfXMLList.b.c.d[2] = selfXML.b.c.d[0];
     textArea02ID.text = selfXMLList;
    }
   
    private function allReplace():void{    //XML全部转化为XMLList
     selfXMLList = <>{selfXML}</>;
     textArea02ID.text = selfXMLList;
     trace(selfXML.length());
     trace(selfXML.b.c[0]);
     trace(selfXMLList.length());
     trace(selfXMLList.b.c[0]);
    }
   
   ]]>
</fx:Script>

<mx:Button id="butWaiID" x="200" y="10" label="获得外部xml文件" click="mySend01();"/>
<mx:TextArea id="textArea01ID" x="100" y="50" width="300" height="500"/>
<mx:TextArea id="res01ID" x="450" y="50" width="200" height="100"/>

<mx:Button id="butDongID" x="1000" y="10" label="获得自定义动态xml文件" click="creatSelfXML();"/>
<mx:TextArea id="textArea02ID" x="1000" y="50" width="300" height="500"/>
<mx:TextArea id="res02ID" x="700" y="50" width="200" height="100"/>
<mx:Button id="changelID" x="1150" y="10" label="改变动态xml值" click="changelXML()"/>

<mx:Button id="allReplaceID" x="1250" y="10" label="全部转化" click="allReplace();"/>

<mx:TextArea id="areaNoteID" x="450" y="155" width="500" height="400"/>


<fx:Declarations>
   <mx:HTTPService id="service01ID" useProxy="false" result="getXML01(event)"/>
</fx:Declarations>

</s:Application>

2、与主程序同目录的外部xml文件:testXML.xml

<?xml version="1.0" encoding="UTF-8" ?>
<a xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="serverTemplate.xsd">
    <b>
        <c>
            <d>
              节点1
            </d>
            <d>
              节点2
            </d>
            <d>
              节点3
            </d>
            <d>
              节点4
            </d>
        </c>
        <c>
            <d>
              节点5
            </d>
        </c>
        <c>
            <d>
              节点6
            </d>
        </c>
    </b>
    <b>
        <c>
            <d>
              节点7
            </d>
        </c>
        <c>
            <d>
              节点8
            </d>
        </c>
        <c>
            <d>
              节点9
            </d>
        </c>
    </b>
    <b>
        <c>
            <d>
              节点10
            </d>
        </c>
        <c>
            <d>
              节点11
            </d>
        </c>
        <c>
            <d>
              节点12
            </d>
        </c>
    </b>
</a>

分享到:
评论

相关推荐

    flex解析xml框架实例

    在Flex中,你可以使用XML类的构造函数来创建新的XML对象,或者解析已经存在的XML字符串或文件。 在"flex解析xml框架实例"中,我们关注的是如何使用XML类解析从HTTPService获取的数据。HTTPService是Flex提供的一个...

    flex 解析xml实例

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

    readxml flex加载xml文件

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

    Flex里解析XML数据

    在Flex中,XML对象提供了一种灵活的方式来创建、操作和解析XML文档。通过实例化XML类,我们可以加载XML数据并对其进行解析: ```actionscript var xml:XML = new XML("&lt;root&gt;&lt;item&gt;Value&lt;/item&gt;&lt;/root&gt;"); ``` 3. ...

    flex4 简单增删改实例

    本实例将探讨如何在Flex 4中实现简单的数据添加、删除和修改功能。 首先,我们需要了解Flex 4中的数据模型。在Flex中,数据通常与视图组件进行绑定,这可以通过MXML的data属性或ActionScript的setData方法完成。...

    flex 解析xml文件 httpservice

    在Flex开发中,XML文件常被用作数据存储和传输的格式,因为它结构清晰、易于理解和操作。本篇文章将深入探讨如何使用Flex解析XML文件,并通过HTTPService来读取XML内容,以及如何根据需求过滤字符串并获取所需值。 ...

    Flex处理 xml方法及实例

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

    flex外部读取xml

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

    Flex:ArrayCollection转xml形式的实例

    XML类允许我们创建、操作和解析XML文档。以下是一个简单的示例,展示如何将ArrayCollection转换为XML: ```actionscript import mx.collections.ArrayCollection; import flash.xml.XMLDocument; var ...

    flex4与Java通信实例

    在本实例中,我们探讨了三种Flex4与Java交互的方式:通过RemoteObject、HTTPService以及WebService。 1. Flex 与普通 Java 类通信 - RemoteObject 在Flex中,RemoteObject组件用于与Java服务端的普通类进行通信。...

    flex用两种方法读取xml文件

    在Flex开发中,XML文件常被用来作为数据存储和传输的格式,因为它结构清晰、易于解析和操作。本文将深入探讨两种在Flex中读取XML文件的方法:HTTPService和URLLoader。 1. 使用HTTPService读取XML文件 HTTPService...

    flex charts 图形集合实例(读取XML)

    在“flex charts 图形集合实例(读取XML)”中,我们探讨的是如何使用Flex Charts来展示数据,并且这些数据是从XML文件中读取的。XML因其结构化和可扩展性,常被用作数据交换格式。以下是对这一主题的详细说明: 1....

    Flex4与J2EE交互实例

    "start"文件可能是一个启动脚本或者说明文档,指导用户如何部署和运行此Flex4与J2EE交互的示例。"Info"文件可能是关于项目信息、依赖库或者使用注意事项的文本文件。 综上所述,这个实例涵盖了Flex4前端开发、J2EE...

    flex DataGrid xml 动态数据列表实例

    在这个实例中,我们将探讨如何利用Flex的`DataGrid`组件结合XML文件来实现动态数据列表。 首先,让我们深入了解`DataGrid`组件。`DataGrid`是Flex提供的一个可自定义的、可滚动的数据容器,它允许用户以网格形式...

    Flex4 spring整合实例

    在"flex-spring"这个压缩包中,可能包含了示例代码、配置文件和相关的文档,可以帮助开发者快速理解并实践Flex4与Spring的整合。通过深入研究这些资源,你可以更好地掌握这一整合技术,并将其应用到自己的项目中。

    Flex之URLLoader加载XML

    - `public var loader:URLLoader` 定义了一个URLLoader实例,用于加载XML文件。 - `public var menus:XML` 定义了一个XML变量,用于存储加载的XML数据。 - `[Bindable]` 属性标记的 `completeHandle` 函数将在...

    flex上:简单的将xml内容生成文件存到本地的一个小例子

    这段代码创建了一个新的`FileReference`实例,调用`save`方法将XML对象转换为字符串并保存为名为"myFile.xml"的文件。 4. **事件监听**: 使用`FileReference`时,通常需要监听`save`方法的完成情况。可以添加`...

    FLEX操作XML&JSON

    【标题】: 使用FLEX操作XML和JSON 【概述】 在本文中,我们将探讨如何在Adobe Flex(现称为OpenFL)环境中处理XML和JSON数据。Flex是一种开源框架,允许开发人员使用ActionScript 3.0(AS3)和MXML来构建富互联网...

    flex - xml操作

    ### Flex与XML操作详解 #### 一、E4X与ActionScript 3.0的集成 E4X(ECMAScript for XML)是ECMAScript标准的一个扩展,它被引入到ActionScript 3.0中,极大地简化了XML数据处理的过程。在Flash 5时,ActionScript...

    flex+hibernate 实例

    2. **模型定义**:在Hibernate中,你需要定义实体类,这些类对应于数据库中的表,并通过注解或XML配置文件指定它们与数据库的映射关系。 3. **服务创建**:在Flex端,创建一个AMF通道连接到服务器上的服务,这个...

Global site tag (gtag.js) - Google Analytics