一、创建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;

Flex4_操作XML的更多相关文章

  1. Asp.Net 操作XML文件的增删改查 利用GridView

    不废话,直接上如何利用Asp.NET操作XML文件,并对其属性进行修改,刚开始的时候,是打算使用JS来控制生成XML文件的,但是最后却是无法创建文件,读取文件则没有使用了 index.aspx 文件 ...

  2. php中通过DOM操作XML

    DOM文档在js里早就接触过,知道DOM不但可以操作html文档,还可以操作XHTML,XML等文档,有着极强的通用性,下面我们通过两个小例子,看看在PHP中是如何用DOM操作XML文档的,和js中差 ...

  3. 使用dom4j操作XML

    DOM4J介绍 DOM4J是使用Java语言编写的,用于读写及操作XML的一套组件,DOM4J同时具有DOM修改文件的优点和SAX读取快速的优点. DOM4J的使用 首先下载dom4j的JAR包,我用 ...

  4. 使用JDOM操作XML

    JDOM介绍 JDOM是使用Java语言编写的,用于读写及操作XML的一套组件,Jdom同时具有DOM修改文件的优点和SAX读取快速的优点. JDOM的使用 首先下载JDOM的JAR包,本文使用的是j ...

  5. php : DOM 操作 XML

    DOM 操作 XML 基本用法 XML文件: person.XML <?xml version="1.0" encoding="utf-8" ?> ...

  6. Strus2第一次课:dom4j操作xml

    先从底层的xml操作技术记录: 当我们新建一个项目,什么架包都没加入的时候,java提供了 org.w3c.dom给我们操作xml里面的元素 import org.w3c.dom.Document; ...

  7. .NET 操作XML

    在C#.net中如何操作XML 需要添加的命名空间: using System.Xml; 定义几个公共对象: XmlDocument xmldoc ; XmlNode xmlnode ; XmlEle ...

  8. php操作xml

    最近计划写个人的小网站,一系列原因选择了用php来写,最大的问题就是虽然php很流行,但我从来没有接触过php,看了一个多星期的基本语法后做些小练习热热身,但是期间是各种问题啊,主要是对php不熟悉, ...

  9. JavaScript操作XML

    JavaScript操作XML (一) JavaScript操作XML是通过XML DOM来完成的.那么什么是XML DOM呢?XML DOM 是: 用于 XML 的标准对象模型 用于 XML 的标准 ...

随机推荐

  1. Luogu3195 [HNOI2008]玩具装箱TOY (方程变形 + 斜率优化 )

    题意: 给出一个序列 {a[i]} 把其分成若干个区间,每个区间的价值为 W = (j − i + ∑ak(i<=k<=j) - L)​2 ,求所有分割方案中价值之和的最小值. 细节: 仔 ...

  2. Struts 2 动作注释 配置动作扩展 全局开关

    动作注释package com.yiibai.user.action; import org.apache.struts2.convention.annotation.Action; import o ...

  3. PC上测试移动端网站和模拟手机浏览器

    一.Chrome*浏览器 chrome模拟手机总共有四种方法,原理都一样,通过伪装User-Agent,将浏览器模拟成Android设备.以下标星的为推荐方法. 1.新建Chrome快捷方式 右击桌面 ...

  4. c++ 一个cpp文件如何调用另一个cpp文件已经定义的类?我不想重复定义

    文件test1.cpp有类class A;文件test2.cpp有类class B.如在test2.cpp中想用A:#include "test1.cpp" 当然一般的做法是将类的 ...

  5. PHP 页面跳转的三种方式

    第一种方式:header() header()函数的主要功能是将HTTP协议标头(header)输出到浏览器. 语法: void header ( string $string [, bool $re ...

  6. 【Luogu】P3758可乐(矩阵优化DP)

    题目链接 一开始想到这可能能用矩阵优化,但以为暴力就能卡过……T成二十分 首先我们回顾一下我们的暴力转移方程 用f[i][j][0/1]表示在i时刻,j点,1不爆炸,0已爆炸的方案数,那么f[i][j ...

  7. BZOJ 3209: 花神的数论题【数位dp】

    Description 背景众所周知,花神多年来凭借无边的神力狂虐各大 OJ.OI.CF.TC …… 当然也包括 CH 啦.描述话说花神这天又来讲课了.课后照例有超级难的神题啦…… 我等蒟蒻又遭殃了. ...

  8. 【HDOJ6223】Infinite Fraction Path(后缀数组,倍增)

    题意: 给一个长度为n的字符串s[0..n-1],但i的后继不再是i+1,而是(i*i+1)%n,求所有长度为n的“子串”中,字典序最大的是谁 n<=150000,s[i]=0..9 思路:后缀 ...

  9. angular中多控制器的依赖注入写法

    直接看图,每个控制器有自己的名称,第二个参数中有需要注入的依赖对象,最后是我们的自定义函数,这样我们可以以模块化的方式进行书写.

  10. Yii 安装学习

    (1)打开yii官方网站: http://www.yiichina.com (2)点击下载,跳转到下载页面: (3)找到从归档文件安装,新手学习,使用[ Yii2的基本应用程序模板]: (4)下载解压 ...