【转】AS3操作XML,增加、删除、修改
var i:Number=0;//用于下面循环
var webcontent:String="Sontin's Blog <b>Welcome to 终吾一生</b>";
var myXML:XML=<websites>
<site name="Sontin's Blog" url="http://www.ldyy8.com">
<description>{webcontent}</description>
<pagebyte>1000</pagebyte>
</site>
<site name="百度" url="http://www.baidu.com">
<description>百度一下,就知道</description>
<pagebyte>500</pagebyte>
</site>
<site name="谷歌" url="http://www.google.com">
<pagebyte>100</pagebyte>
</site>
</websites>;
trace("--------------------------初始XML--------------------------------------");
trace(myXML);
//先查找吧,下面操作都让XML变样了。
trace("--------------------------查找一--------------------------------------");
//双点号(..),又称为后裔访问符(the descendent accessor),访问当前元素的所有子元素
trace("找到[description]个数:"+myXML..description.length());
trace(myXML..description); //myXML.site[0]..description; 这样同样正常的
trace("--------------------------查找二--------------------------------------");
//通配符(*)
trace("通配符:"+myXML.site[0].@*.toXMLString()); //查第一个节点的所有属性
trace("site节点的所有属性:");
trace(myXML.site.@*.toXMLString()); //查所有 site节点的所有属性
trace("--------------------------查找三--------------------------------------");
//大于 >,小于<,等于 == (双等哦,要不变修改了)
trace(myXML.site.(pagebyte==500));
trace(myXML.site.(pagebyte>500));
//**必须每个site节点下都有pagebyte元素
//把中间的括号去了看看,会有新发现哦。
trace("--------------------------查找四--------------------------------------");
//查属性
trace(myXML.site.(@name=="谷歌"));
//**必须每个site节点下都有name属性
trace("--------------------------查找五,正则--------------------------------------");
trace(myXML.site.(pagebyte.match(/^1\d+/))); //查找pagebyte第一个字符是 1的
trace("name中第一个字母是S的:"+myXML.site.(@name.match(/^S\w+/)));
//**必须每个site节点下都有pagebyte元素,正则我也不太会用基础的表示一下好了。呵呵
//添加
myXML.site[0].author=new XML();//添加一个空白节点(其实不用new也同样可以执行添加)
myXML.site[0].author.@name="子锡";//添加一个属性
myXML.site[0].author.@email="sontin@qq.com";//添加邮箱属性
myXML.site[0].author.school="社会大学";//添加一个子节点
//还有一些API 这就不提了,主要也就4项
/*
appendChild(child:Object):XML 在当前子元素列表之后添加
prependChild(child:Object):XML 在当前子元素列表之前添加
insertChildAfter(child1:Object,child2:Object):* 在子元素child1之后添加
insertChildBefore(child1:Object,child2:Object):* 在子元素child1之前添加
*/
//修改
myXML.site.description[0]=myXML.site.description[0]+" 摆正心态,做好自己。";
myXML.site.@name[1]=myXML.site.@name[1]+"一下";
//删除(很简单,其实就是修改)
delete myXML.site[1].@url; //删除节点属性
delete myXML.site[1].description; //删除节点指定子元素
//myXML.site[1]="";//删除其下所有子节点(元素)
//delete myXML.site[1];//删除该节点,包括其下子节点(元素)
//myXML=null; //删除整个XML呢?null就好了,但下面要判断哦;
if (myXML!=null) {
trace("----------------------显示指定节点内容,没有输出空串--------------------------");
trace(myXML.site.description[0]);
trace(myXML.site[0].description);//建议
trace("---------------------循环显示site-------------------------------------------");
//.length()为统计个数
for (i=0; i<myXML.site.length(); i++) {
trace("第" + i + "个:" + myXML.site[i]);
}
trace("----------------------循环显示site.name------------------------------------------");
trace(myXML.site.@name);
//.length()为统计个数
for (i=0; i<myXML.site.@name.length(); i++) {
trace("第" + i + "个name:" + myXML.site.@name[i]);
}
//这样也可以(建议使用,这样更能体现对象的意义)
trace("---这样也可以:");
for (i=0; i<myXML.site.length(); i++) {
trace("第" + i + "个name:" + myXML.site[i].@name);
}
trace("--------------------------最终的site--------------------------------------");
trace(myXML.site);
trace("--------------------------最终的XML--------------------------------------");
trace(myXML);
}
原文链接:http://bbs.9ria.com/blog-229904-21550.html
【转】AS3操作XML,增加、删除、修改的更多相关文章
- 在Javascript操作JSON对象,增加 删除 修改
在Javascript操作JSON对象,增加删除修改全有的,详情见代码 <script type="text/javascript"> var jsonObj2 = { ...
- Nodejs之MEAN栈开发(九)---- 用户评论的增加/删除/修改
由于工作中做实时通信的项目,需要用到Nodejs做通讯转接功能,刚开始接触,很多都不懂,于是我和同事就准备去学习nodejs,结合nodejs之MEAN栈实战书籍<Getting.MEAN.wi ...
- AutoCad 二次开发 .net 之层表的增加 删除 修改图层颜色 遍历 设置当前层
AutoCad 二次开发 .net 之层表的增加 删除 修改图层颜色 遍历 设置当前层 AutoCad 二次开发 .net 之层表的增加 删除 修改图层颜色 遍历 设置当前层我理解的图层的作用大概是把 ...
- [JavaWeb基础] 004.用JSP + SERVLET 进行简单的增加删除修改
上一次的文章,我们讲解了如何用JAVA访问MySql数据库,对数据进行增加删除修改查询.那么这次我们把具体的页面的数据库操作结合在一起,进行一次简单的学生信息操作案例. 首先我们创建一个专门用于学生管 ...
- .net操作xml文件(新增.修改,删除,读取) 转
今天有个需求需要操作xml节点.突然见遗忘了许多.上网看了些资料.才整出来.脑袋真不够用.在这里把我找到的资料共享一下.方便以后使用.本文属于网摘/ 1 一.简单介绍2 using System.Xm ...
- .net操作xml文件(新增.修改,删除,读取)---datagridview与xml文件
参考网址: http://www.cnblogs.com/liguanghui/archive/2011/11/10/2244199.html 很详细的,相信能给你一定的帮助.
- javascript操作JSON对象,增加 删除 修改
JS只能输入数字,数字和字母等的正则表达式 1.文本框只能输入数字代码(小数点也不能输入) <input onkeyup="this.value=this.value.replace( ...
- ztree树形菜单的增加删除修改和换图标
首先需要注意一点,如果有研究过树形菜单,就会发现实现删除和修改功能特别简单,但是增加却有一点复杂.造成这个现象是ztree树形菜单的历史遗留问题.大概是之前的版本没有增加这个功能,后来的版本加上了这个 ...
- Sql增加,删除,修改列
1. 查看约束条件 - MySQL: SELECT * FROM information_schema.`TABLE_CONSTRAINTS` where table_name = 'book'; - ...
随机推荐
- 前端总结·基础篇·CSS(一)布局
目录 这是<前端总结·基础篇·CSS>系列的第一篇,主要总结一下布局的基础知识. 一.显示(display) 1.1 盒模型(box-model) 1.2 行内元素(inline) &am ...
- JAVA程序测试之Swing编程
package swingtest; import java.awt.BorderLayout; import java.awt.event.ActionEvent; import java.awt. ...
- Unity中的万能对象池
本文为博主原创文章,欢迎转载.请保留博主链接http://blog.csdn.net/andrewfan Unity编程标准导引-3.4 Unity中的万能对象池 本节通过一个简单的射击子弹的示例来介 ...
- TJOI2015 day2解题报告
TJOI2015终于写完啦~~~ T1:[TJOI2015]旅游 描述:(BZ没题面只能口述了..)一个人在一棵树上走,每次从a->b会进行一次贸易(也就是在这条路径上买入物品然后在后面卖出)然 ...
- 使用JDT.AST解析java源码
在做java源码的静态代码审计时,最基础的就是对java文件进行解析,从而获取到此java文件的相关信息: 在java文件中所存在的东西很多,很复杂,难以用相关的正则表达式去一一匹配.但是,eclip ...
- 《剑指offer》— JavaScript(21)栈的压入、弹出序列
栈的压入.弹出序列 题目描述 输入两个整数序列,第一个序列表示栈的压入顺序,请判断第二个序列是否为该栈的弹出顺序.假设压入栈的所有数字均不相等.例如序列1,2,3,4,5是某栈的压入顺序,序列4,5, ...
- 整理 - .Net系统预定义的委托们
大部分情况下,我们可以使用系统预定义的委托类型,而不需要自己再来手动定义. 以下委托都位于System命名空间下. 传入参数.返回值的类型,大都被声明为泛型. 1.Action系列 有0-16个参数, ...
- 阿里云开发之OSS数据迁移
最近由于项目需求,需要将一个aliyun账号下的oss数据导入到两一个aliyun账号下的oss,经过一番坎坷,最终搞定. 1.查看oss数据迁移官方文档,我是在本地windows电脑上进行操作的,先 ...
- 利刃 MVVMLight 4:绑定和绑定的各种使用场景
一.绑定: 主要包含元素绑定和非元素绑定两种. 1.元素绑定,是绑定的最简单形式,源对象是WPF的元素,并且源对象的属性是依赖项属性. 根据我们之前的知识 ,依赖项属性具有内置的更改通知支持.所以当我 ...
- jpush 延迟推送的栗子
这个 推送是上个月做的, 上线之后没有问题,所以,我就把 这个整套代码 整理一哈,方便以后使用. 首先需求是这样的: 在比赛结束后的 10 钟 开始给 参加比赛的球员 发送消息,告诉他们比赛的信息 ...