一、创建XML类

1、把字符串对象转换为XML:

var xmlStr:String="<students><student><name>吕布</name><sex>男</sex><age>27</age></student>";
xmlStr+="<student><name>貂蝉</name><sex>女</sex><age>26</age></student></students>";
var rootXML:XML=new XML(xmlStr);
trace(rootXML);

2、调用XML类,(以下实例以此MXL为样本):

var rootXML:XML=
   <students>
      <student>
          <name>刘备</name>
          <sex>男</sex>
          <age>35</age>
      </student>
      <student>
          <name>吕布</name>
          <sex>男</sex>
          <age>38</age>
      </student>
      <student>
          <name>貂蝉</name>
          <sex>女</sex>
          <age>22</age>
      </student>
 </students>;

3、添加子节点(节点存在,则修改,不存在则添加):

rootXML.student[0].mz="回族";
//使用节点变量
var newChild:String="mz";
rootXML.student[1][newChild]="苗族";
//使用节点索引
rootXML.children()[2].mz="汉族";

4、添加节点内容:

//添加子节点
var newXML:XML=
    <fen>
          <java>99</java>
          <delphi>86</delphi>
          <flex>93</flex>
    </fen>;

//位于其它子节点尾部。
rootXML.student[0].appendChild(newXML);
//位于其它子节点首部
rootXML.student[1].prependChild(newXML);

//添加同级节点
newXML=
    <student>
        <name>西施</name>
        <sex>女</sex>
        <age>18</age>
    </student>
//选择节点之前
rootXML.insertChildBefore(rootXML.student[0],newXML);
//选择节点之后
rootXML.insertChildAfter(rootXML.student[1],newXML);

5、添加属性(有则修改,无则添加)

rootXML.student[0].@id="1000"
var newid:String="id";
rootXML.student[1].@[newid]="2000";

6、读取属性

trace(rootXML.student[0].@id);
trace(rootXML.student[0].attribute("id"));

7、查找遍历节点和属性

//根据节点内容查节点
trace(rootXML.student.(name=="刘备"));
//根据节点属性查节点
trace(rootXML.student.(@id=="1002"));
//得到某节点的父节点内容
trace(rootXML.student[0].name.parent());
var i:int=0;
for(i=0;i<rootXML.children().length();i++){
    //打印每个学生的信息
    trace(rootXML.children()[i].toString());
    //打印每个学生的名称
    trace(rootXML.children()[i].name);
    //打印每个学生的性别
    trace(rootXML.student[i].sex);
    //打印每个学生的的属性ID
    trace(rootXML.children()[i].@id);
    //打印节点名称(标签,不是值)
    trace(rootXML.children()[i].name());

    //遍历每个节点的所有属性标签名称
    var attLen:int=rootXML.children()[i].attributes().length();
    for(var j:int=0;j<attLen;j++){
        //属性名称
        var attName:String=rootXML.children()[i].attributes()[j].name();
        trace(attName);
        //属性值
        var attValue:String=rootXML.children()[i].@[attName];
        trace(attValue);

    }
}

8、删除节点或属性

//删除节点
delete rootXML.student[0].sex;
//删除属性
delete rootXML.student[0].@id;

--------------------------------------------------------------------------------------------------------------------

文章来源于:http://www.cnblogs.com/lovemoon714/archive/2012/05/28/2521315.html

Flex XML的更多相关文章

  1. Flex XML搜索、匹配

    - <?xml version="1.0" encoding="utf-8"?> <s:Application xmlns:fx=" ...

  2. Flex XML/XMLList 常用操作

    1       XML.XMLList操作 Flex对xml提供了很多强大而灵活的操作.相对于其他语言,flex对xml的格式要求不那么苛刻,只要符合基本格式语法的字符串,flex能非常简单的转换成x ...

  3. Flex xml编辑器(老外写的)

    github上的一个项目老外写的xml编辑器,灵活利用了Tree的labelFunction实现节点运行时展现.开源地址是 https://github.com/softinsure/XML-Edit ...

  4. Flex 远程加载crossdomain.xml 解决

    局域网部署Flex项目的时候加载不出来,分析了一下http发现在请求连接“http://fpdownload.adobe.com/pub/swz/crossdomain.xml”,这里出了问题,跨域的 ...

  5. Flex之DataGrid和Tree控件的数据源XML格式

    1.flex的完整代码: <?xml version="1.0" encoding="utf-8"?> <s:Application xmln ...

  6. Flex xxx-app.xml配置

    <?xml version="1.0" encoding="UTF-8"?>  <application xmlns="http:/ ...

  7. Flex与Java交互(Flex调用java类展示数据)解析xml展示数据

    Flex与java通信最简单例子(详细说明了各种需要注意的配置):http://blog.csdn.net/u010011052/article/details/9116869 Flex与java通信 ...

  8. 由“Jasperrpeorts 4.1.2升级到5.1.2对flex项目的解析”到AS3 带命名空间的XML的操作

    原文同步至:http://www.waylau.com/from-jasperrpeorts-4-1-2-upgraded-to-5-1-2-parsing-of-flex-projects-to-t ...

  9. 【Flex】读取本地XML,然后XML数据转成JSON数据

    干了一年H5,最近被要求写编辑器,Electron等级还不够,写不了,只有重新拿起as3,用flex,最近写到数据表编辑模块,有这部分功能,基本完成 . package utils { /** * 模 ...

随机推荐

  1. httpclient介绍

    前言 超文本传输协议(HTTP)也许是当今互联网上使用的最重要的协议了.Web服务,有网络功能的设备和网络计算的发展,都持续扩展了HTTP协议的角色,超越了用户使用的Web浏览器范畴,同时,也增加了需 ...

  2. 【转】Xcode添加静态库以及编译选项配置常见问题

    原文网址:http://www.cnblogs.com/Quains/p/3276425.html 一,Xcode编译出现Link错误,出现"duplicate symbols for ar ...

  3. SVN 命令行 精编版

    1.将文件checkout到本地目录 svn checkout path(path是服务器上的目录) 例如:svn checkout https://svn.sinaapp.com/beckhom 简 ...

  4. [Everyday Mathematics]20150221

    设 $y_n=x_n^2$ 如下归纳定义: $$\bex x_1=\sqrt{5},\quad x_{n+1}=x_n^2-2\ (n=1,2,\cdots). \eex$$ 试求 $\dps{\vl ...

  5. jQuery插件开发的模式和结构

    jQuery插件开发 一般来说,jQuery插件的开发分为两种:一种是挂在jQuery命名空间下的全局函数,也可称为静态方法:另一种是jQuery对象级别的方法,即挂在jQuery原型下的方法,这样通 ...

  6. js 判断页面是否加载完成

    javascript代码如下: document.onreadystatechange = subSomething; //当页面加载状态改变的时候执行这个方法 function subSomethi ...

  7. GitHub--git push出错解决

    当使用GitHub进行代码push是,出现了下面的错误,该如何是好? 错误描述: ! [rejected]        master -> master (non-fast-forward)e ...

  8. 一个采用python获取股票数据的开源库,相当全,及一些量化投资策略库

    tushare: http://tushare.waditu.com/index.html 为什么是Python? 就跟javascript在web领域无可撼动的地位一样,Python也已经在金融量化 ...

  9. 【原】创建Hive表,分号分隔符“;”引起的异常

    [障碍再现] 在创建支持Map数据结构的Hive表时,抛出如下异常 hive> create table tab_map(name string,info map<string,strin ...

  10. <转载>浅谈C/C++的浮点数在内存中的存储方式

    C/C++浮点数在内存中的存储方式 任何数据在内存中都是以二进制的形式存储的,例如一个short型数据1156,其二进制表示形式为00000100 10000100.则在Intel CPU架构的系统中 ...