一、创建XML类

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

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

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

  1. var rootXML:XML=
  2. <students>
  3. <student>
  4. <name>刘备</name>
  5. <sex>男</sex>
  6. <age>35</age>
  7. </student>
  8. <student>
  9. <name>吕布</name>
  10. <sex>男</sex>
  11. <age>38</age>
  12. </student>
  13. <student>
  14. <name>貂蝉</name>
  15. <sex>女</sex>
  16. <age>22</age>
  17. </student>
  18. </students>;

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

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

4、添加节点内容:

  1. //添加子节点
  2. var newXML:XML=
  3. <fen>
  4. <java>99</java>
  5. <delphi>86</delphi>
  6. <flex>93</flex>
  7. </fen>;
  8.  
  9. //位于其它子节点尾部。
  10. rootXML.student[0].appendChild(newXML);
  11. //位于其它子节点首部
  12. rootXML.student[1].prependChild(newXML);
  13.  
  14. //添加同级节点
  15. newXML=
  16. <student>
  17. <name>西施</name>
  18. <sex>女</sex>
  19. <age>18</age>
  20. </student>
  21. //选择节点之前
  22. rootXML.insertChildBefore(rootXML.student[0],newXML);
  23. //选择节点之后
  24. rootXML.insertChildAfter(rootXML.student[1],newXML);

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

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

6、读取属性

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

7、查找遍历节点和属性

  1. //根据节点内容查节点
  2. trace(rootXML.student.(name=="刘备"));
  3. //根据节点属性查节点
  4. trace(rootXML.student.(@id=="1002"));
  5. //得到某节点的父节点内容
  6. trace(rootXML.student[0].name.parent());
  7. var i:int=0;
  8. for(i=0;i<rootXML.children().length();i++){
  9. //打印每个学生的信息
  10. trace(rootXML.children()[i].toString());
  11. //打印每个学生的名称
  12. trace(rootXML.children()[i].name);
  13. //打印每个学生的性别
  14. trace(rootXML.student[i].sex);
  15. //打印每个学生的的属性ID
  16. trace(rootXML.children()[i].@id);
  17. //打印节点名称(标签,不是值)
  18. trace(rootXML.children()[i].name());
  19.  
  20. //遍历每个节点的所有属性标签名称
  21. var attLen:int=rootXML.children()[i].attributes().length();
  22. for(var j:int=0;j<attLen;j++){
  23. //属性名称
  24. var attName:String=rootXML.children()[i].attributes()[j].name();
  25. trace(attName);
  26. //属性值
  27. var attValue:String=rootXML.children()[i].@[attName];
  28. trace(attValue);
  29.  
  30. }
  31. }

8、删除节点或属性

  1. //删除节点
  2. delete rootXML.student[0].sex;
  3. //删除属性
  4. 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. 转深入学习heritrix---体系结构(Overview of the crawler)

    Heritrix采用了模块化的设计,它由一些核心类(core classes)和可插件模块(pluggable modules)构成.核心类可以配置,但不能被覆盖,插件模块可以被由第三方模块取代. ( ...

  2. C# 类的多态、结构、接口、抽象、虚函数总结

    多态: 类的多态是通过在子类(派生类)中重载基类的虚方法或成员函数来实现的. 可见,重载和虚函数的重写,并在调用时用父类装箱子类对象,是实现多态的一种重要的编程方式. 接口: 接口是一种用来定义程序的 ...

  3. cp: omitting directory”错误的解释和解决办法

    在linux下拷贝的时候有时候会出现cp:omitting directory的错误 ,例如 cp:omitting directory "bbs" 说明bbs目录下面还有目录,不 ...

  4. cocos2dx 2.x 版本+Windows+ADT Bundle 配置

    昨天解决了cocos2dx 3.x版本+Windows+ADT Bundle的配置,今天来解决cocos2dx 2.x版本的配置. 整体来说,2.x的配置相对麻烦一点,不过一旦解决了,就一路畅通无阻了 ...

  5. opengl奔溃问题

    按照网上的教程编译成功,当时运行时老是奔溃(不弹出任何提示,窗口变灰色).遂更新了ATI的显卡驱动果然可以运行了,哈哈 http://support.amd.com/en-us/download/de ...

  6. collect my database for test KCF tracker tools

    Path Button used to set dir where avi file saves, set path set video size and start record write to ...

  7. 迅影QQ视频查看v2.0 源码

    骗了1200多位朋友,实在惭愧,现在公开我自己的源码实现.本人新人,代码很烂,请凑合看吧O(∩_∩)O~ Form1.cs using System; using System.Text.Regula ...

  8. Chapter9:顺序容器

    现代C++程序应该使用标准库容器,而不是更原始的数据结构,例如内置数组. 新标准库容器的性能几乎肯定与最精心优化过的同类数据结构一样好. 当我们用一个对象来初始化容器时,或将一个对象插入到容器中时,实 ...

  9. 数往知来C#面向对象〈三〉

    C# 基础方法篇 一.复习 1)方法的重载 方法的重载并不是一个方法,实际上方法的重载就是一些不同的 方法,目的是为了方便程序员编码,所以将功能相近的方法命名相同 根据参数,编译器自动的去匹配方法体, ...

  10. VS常用技巧

    VS2005代码编辑器的展开和折叠代码确实很方便和实用.以下是展开代码和折叠代码所用到的快捷键,很常用: Ctrl + M + O: 折叠所有方法 Ctrl + M + M: 折叠或者展开当前方法 C ...