一、创建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. SeuRain的归来

    不知不觉二十载寒窗苦读要结束了,还没有到回顾过去的时候.马上进入研三了,现在要努力加油了.还记得曾经的那个在凌晨两点奋战的宇么?归来吧!

  2. uimodalpresentationformsheet resize ios7

    CROHomeCRAAddController *temp =[[CROHomeCRAAddControlleralloc] init]; temp.modalTransitionStyle = UI ...

  3. GetPrivateProfileStringA的文件名要小心写

    ::GetPrivateProfileStringA("REMOTE", "host", "http://xxx.comftp.php", ...

  4. c#枚举自定义,用于数据绑定。 z

    [AttributeUsage(AttributeTargets.Field | AttributeTargets.Property | AttributeTargets.Enum)] public ...

  5. nginx upstream模块

    upstream模块 upstream模块 (100%) nginx模块一般被分成三大类:handler.filter和upstream.前面的章节中,读者已经了解了handler.filter. 利 ...

  6. Drupal如何实现类的自动加载?

    Drupal通过spl_autoload_register()注册类加载器实现自动加载: function _drupal_bootstrap_database() { // ... .... spl ...

  7. [转]Linux关机命令详解

    转自:http://www.jb51.net/os/RedHat/1334.html linux下常用的关机命令有:shutdown.halt.poweroff.init:重启命令有:reboot.下 ...

  8. jsoup入门

    官网地址:http://jsoup.org/ Jsoup是一个开源的Java库,它可以用于处理实际应用中的HTML.它提供了非常便利的API来进行数据的提取及修改,充分利用了 DOM,CSS以及jqu ...

  9. linux modprobe.conf怎么不见了—-CentOS 6

    用习惯了CentOS或RHEL的用户或许很熟悉/etc/modprobe.conf文件,系统声卡.网卡.SCSI卡的驱动类型都在这里定义,同样部分动态加载的模块的参数也可以在这个文件中定义,但是在Ce ...

  10. 设置UINavigationController相同标题

    设置UINavigationController相同标题,让UINavigationController内的每一个ViewController的标题都一样,可以使用以下设置. UINavigation ...