- 浏览: 910081 次
- 性别:
- 来自: 北京
文章分类
最新评论
-
wangzhen199009:
good. Thx for your sharing.
REST和认证 HMAC -
jsshizhan:
你的这个SQL有问题的
数据库中如何使用SQL查询连续数字并且统计连续个数 -
maoghj:
dddddddddddddd
mysql 更改my.cnf 慢查询日志 -
zhoutong123a:
人的贪婪无止境,只能控制,不能满足
招人心得 -
xuerThinkVickie:
...
ZeroClipboard支持IE,firefox,Chrome复制到剪贴板
<?xml version="1.0" encoding="UTF-8"?> <menuList> <menu name="菜单1" url="download.php" swf="icon1.swf"> <cmenu name="闯关1" url="onservice.php"> <award id="10001" lv="1"/> <award id="10002" lv="2"/> </cmenu> <cmenu name="闯关2" url="onservice1.php"/> <cmenu name="闯关3" url="onservice2.php"/> <cmenu name="闯关4" url="onservice.php"> <award id="10003" lv="1"/> <award id="10004" lv="2"/> </cmenu> </menu> <menu name="菜单2" url="news.php" swf="icon1.swf"> <cmenu name="INTEL" url="onservice.php"/> <cmenu name="AMD" url="onservice.php"/> <cmenu name="XFX" url="onservice.php"/> <cmenu name="MSI" url="onservice.php"/> </menu> </menuList>
package{ import flash.display.*; import flash.events.*; import flash.net.*; import flash.text.*; public class menu extends Sprite { private var url:URLLoader; private var sprite:Sprite; private var mainsprite:Sprite; private var test:TextField; private var ctest:TextField; private var xml:XML; private var _xml:XML; public function menu(){ url = new URLLoader; url.load(new URLRequest("MenuList.xml")); url.addEventListener(Event.COMPLETE,handcomplete); } private function handcomplete(event:Event){ xml = new XML(event.target.data); _xml = xml; for(var i:int=0;i<xml.menu.length();i++){ var mname:String=xml.menu[i].@name; test = new TextField; test.border=true; test.selectable=false; test.text=mname; test.x=20; test.y=i*test.height+20; test.name=String(i); //记录下标 test.addEventListener(MouseEvent.CLICK,dispChildMenu); addChild(test); } } private function dispChildMenu(event:MouseEvent):void { if(sprite){ for (var k:int=sprite.numChildren - 1; k >=0; k--){ sprite.removeChildAt(k); } }else{ sprite = new Sptite(); } for(var j:int=this.numChildren-1;j>=0;j--){ if(j>event.target.name){ this.removeChildAt(j); } } addChild(sprite); var len:Number = new Number(event.target.name); var _mc:MovieClip; if(xml.menu[len].length()>0){ for(j=0;j<xml.menu[len].cmenu.length();j++){ _mc = new MovieClip(); var cname:String=xml.menu[len].cmenu[j].@name; ctest = new TextField; ctest.border=true; ctest.autoSize="left"; _mc.x = event.target.x; _mc.y = ctest.height*(j+1); var awardData : Array = new Array(); //重要 for(var m:int=0;m<xml.menu[len].cmenu[j].award.length();m++){ //重要 var tob:Object = new Object(); //重要 for each(var d in xml.menu[len].cmenu[j].award[m].attributes()){ //重要 tob[String(d.name())] = d; //重要 } awardData.push(tob); //重要 } _mc.awarddata = awardData; _mc.addChild(ctest); _mc.addEventListener(MouseEvent.CLICK,dispThirdMenu); sprite.addChild(_mc); } } for(var i:int=0;i<_xml.menu.length();i++){ if(i>event.target.name){ var mname = _xml.menu[i].@name; test = new TextField; test.border=true; test.autoSize="left"; test.text = mname; test.x=20; test.y = i*test.height+76; test.name=String(i); test.addEventListener(MouseEvent.CLICK,dispChildMenu); addChild(test); } } } function dispThirdMenu(event:MouseEvent):void{ for(var k:int=0;k<event.currentTarget.awarddata.length;k++){ trace(event.currentTarget.awarddata[k].id); trace(event.currentTarget.awarddata[k].lv); } } } }
删除容器子对象有两种写法:
1. for(var k:int=sprite.NumChildren-1;k>=0;k--){
sprite.removeChildAt(k);
}
2. var k:uint = sprite.numChildren;
whild(k>0){
sprite.removeChildAt(k);
k--;
}
由于显示列表会自动移动显示对象填充空缺,所以只移除0索引的位置即可。这样效率最高。
引用
黑羽写的:容器中的子显示对象分为两类:
处于显示列表中的子显示对象。被numChildren所记录的。
由容器graphics对象绘制出来的矢量图。这个矢量图不属于Shape类型,不在容器的显示列表中,不被
numChildren所记录。而是做为容器的背景矢量图存在,始终处于最后面。因此,准确的说,如果要移除容器下所有子显示对象,就要分别移除这两类对象。
比如有一个容器,其下有8个sprite子对象,和一个graphics绘制出的图像: var con:Sprite = new Sprite();
addChild(con);
for(var n:int =0; n<8; n++) {
con.addChild(new Sprite());
}
con.graphics.beginFill(0xFF0000);
con.graphics.drawCircle(100,100,100);
con.graphics.endFill();
trace ("con's children:" + con.numChildren);
//输出:con's children:8 graphics对象绘制的图形果然不在其中。
处于显示列表中的子显示对象。被numChildren所记录的。
由容器graphics对象绘制出来的矢量图。这个矢量图不属于Shape类型,不在容器的显示列表中,不被
numChildren所记录。而是做为容器的背景矢量图存在,始终处于最后面。因此,准确的说,如果要移除容器下所有子显示对象,就要分别移除这两类对象。
比如有一个容器,其下有8个sprite子对象,和一个graphics绘制出的图像: var con:Sprite = new Sprite();
addChild(con);
for(var n:int =0; n<8; n++) {
con.addChild(new Sprite());
}
con.graphics.beginFill(0xFF0000);
con.graphics.drawCircle(100,100,100);
con.graphics.endFill();
trace ("con's children:" + con.numChildren);
//输出:con's children:8 graphics对象绘制的图形果然不在其中。
摘自:http://blog.sina.com.cn/s/blog_5a6f39cf0100njuv.html
发表评论
-
textfield焦点和数组对象的使用
2012-03-23 10:37 1018... -
flash 拖动鼠标浏览图片
2011-08-21 16:05 1025flash 拖动鼠标浏览图片 -
收集整理了一些AS3中常用到的公式
2011-08-20 16:53 933今天有在做一个FLASH,本身并没有什么难的地方,做到某一个效 ... -
[flash]如何设置显示对象放到最上层
2011-08-03 10:14 1487如何设置显示对象放到最上层 function clicked ... -
setChildIndex 入门
2011-05-13 17:55 1144摘自http://www.cnblogs.com/psj200 ... -
随机数,想求不重复,输出随机范围所有数字
2011-05-05 23:51 1223public function Main():void ... -
as3 砖块程序
2011-02-26 23:15 1102我复制了18x6个对象 init(); var bri ... -
下雪效果
2011-02-17 18:55 1049http://www.bitscn.com/school/Fl ... -
actionscript 加载xml文件
2011-02-16 14:36 0package com { import flash.d ... -
actionscript 命名空间
2011-02-15 15:57 974PkgMap.getQualifiedClassName:wa ... -
actionscript 保外类
2011-02-15 15:42 996as3.0的封装层次简单的说分为包外,包,类,包外类。封装层次 ... -
actionscript Loader类和LoaderInfo类
2011-02-15 12:24 1601package { import flash.net ... -
actionscript getDefinition类反射
2011-02-14 23:53 1582对于Flash,我们可以把任何的可视化远元件都看成某个类文件的 ... -
actionscript 工厂模式
2011-02-13 23:41 0创建类的实例时,都会采用下面给的方式: var ins:MyC ... -
函数书写格式
2011-01-23 23:59 1264//用变量func引用函数 var func:Functio ... -
http://www.51xflash.com 闪客装备 flash lite
2009-06-12 14:50 1960http://www.51xflash.com 闪客装备 ... -
Flash学习笔记(八)--控制影片回放
2009-05-28 11:44 1214所有的回放函数都会影响影片的时间轴以及影片剪辑。但它们不会影响 ... -
Flash学习笔记(七)-- 属性
2009-05-23 11:53 939添加到对象(影片剪辑)的变量也可以称为属性。对于附加到对象的函 ... -
Flash学习笔记(六)-- 添加动作
2009-05-23 11:24 953对象添加动作,需放在事件里面。 -
Flash学习笔记(五)--帧
2009-05-20 21:10 880内插动画:一个动作只需指定起始画面和结束画面,中间的画面,自动 ...
相关推荐
### 图解数据结构6-树及树的遍历 #### 一、树的基本概念 树是一种非线性的数据结构,其形状如同一棵倒置的树,具有一个根节点(root)和若干子节点(sub-nodes),并且子节点可以进一步拥有自己的子节点。在计算机科学...
多叉树遍历在许多领域都有应用,如文件系统的遍历、XML文档解析、编译器的语法分析、游戏中的路径查找等。Python的灵活性和丰富的库使其成为实现这些算法的理想选择。 总结,"基于Python的多叉树遍历算法.zip"的...
总结来说,在Winform三层架构中实现XML操作涉及对XML文件的读取、解析和写入,通过数据访问层和业务逻辑层的协同工作,将XML数据展示在用户界面,如用户登录时的下拉列表。这种设计既保证了数据的独立性,又方便了...
在C#编程中,XML文件常用于存储结构化数据,如程序配置、游戏存档或数据交换等场景。本文将详细讲解如何使用C#进行XML文件的读写操作,特别是处理多层节点的情况。 首先,我们需要了解.NET Framework提供的System....
本教程将详细讲解如何使用Java解析具有3层树结构的JSON数据,并扩展到更多的层数。首先,我们需要了解JSON的基本概念和Java中的相关库。 JSON是一种轻量级的数据交换格式,它基于JavaScript的一个子集,易于人阅读...
在C#中,读取XML文件通常使用`XmlDocument`的`Load()`方法,然后通过遍历XML树来获取或修改数据。写入XML文件则使用`Save()`方法。另外,`XmlWriter`可以用来流式地创建XML结构,而`XmlNodeReader`则用于读取XML数据...
4. **递归算法**:在递归函数中,遍历每一层级的数据,如果当前数据有子项,则创建子节点并继续递归,直到所有数据都转化为XML节点。 5. **输出XML**:完成XML树构建后,使用JDom的相应方法将XML树写入文件,生成...
- **遍历XML结构**: 解析后的XML文档可以通过`FirstChildElement()`、`FirstChild()`, `NextSiblingElement()`等方法进行遍历。例如,查找并打印所有的元素: ```cpp TiXmlElement* root = doc.RootElement(); for ...
在Lotus Domino开发环境中,使用LotusScript处理XML数据是一种常见的任务。XML(eXtensible Markup Language)是一种用于标记数据的语言,广泛应用于数据交换、配置文件和文档存储。Lotusscript是IBM Lotus Domino...
1. XML数据结构:XML(Extensible Markup Language,可扩展标记语言)具有树形结构特性,每个XML文档都可以表示为一棵树。树中的每个节点代表XML文档中的元素,其中节点间存在父子和兄弟关系。DOM树(Document ...
总之,C++中使用CMarkup库通过递归法遍历XML文档,可以高效且灵活地处理XML数据。理解XML的结构以及CMarkup库的API,对于进行XML解析和操作至关重要。这种方法虽然在网上可能不常见,但对于理解和掌握XML处理技巧...
同时,使用Javascript的DOM可以实现对基于XML的数据检索,例如检索XML文档中的数据,显示检索结果等。 四、结论 本文主要介绍了使用Javascript实现XML文档数据检索的技术,包括基于XML的数据检索技术、DOM对XML...
- **修改XML数据** - 改变DOM树的节点值或结构,然后将其保存回XML文件。 - **写入XML文件** - 将DOM对象序列化为XML字符串,并写入到文件中。 例如,以下ASP代码片段展示了如何使用ASP读取和解析XML文件: ```...
研究如何将XML数据高效地抽取并存入关系数据库中,可显著提高数据使用效率,满足现代Web应用中对数据处理和查询的需求。通过本文的指导,技术人员可对XML和SQL Server有更深刻的理解,从而在实际工作中应用这些技术...
- 解析后,程序可以获取到XML文档的元素树,遍历这个树以构建菜单树结构。 3. **构建菜单**: - 根据解析得到的元素树,可以递归地创建菜单对象(如MenuItem类),每个对象包含其子菜单对象的引用。 - 在前端,...
此段代码首先创建了一个`TreePanel`组件,用于显示树形结构。接着,根据传入的`xmlsrc`参数类型(XML字符串或URL),选择不同的处理方式。如果是XML字符串,则直接调用`treeNodeFromXml`函数来构建树形结构;如果是...
- DOM4J和JDOM提供了方便的方法来遍历XML文档并创建Map。例如,DOM4J的`DocumentHelper.parseText()`可以解析XML字符串,然后通过遍历`Element`和`Attribute`来构建Map。 - Apache Commons Digester库提供了一种...
在Java中,我们可以使用`javax.xml.parsers.DocumentBuilderFactory`和`org.w3c.dom.Document`来解析XML文档,然后遍历DOM树,将其节点转化为Map。例如,每个XML元素的标签名作为键,元素的文本内容作为值。如果元素...
在C#编程中,XML(eXtensible Markup Language)是一种常见的数据交换格式,用于存储和传输结构化数据。本文将深入探讨如何使用C#语言读取XML...理解并掌握这些技术对于处理XML数据至关重要,能够提升你的C#编程能力。
2. 遍历XML文档:通过`XmlNodeList`获取所有元素节点,可以使用`doc.GetElementsByTagName("*")`获取所有元素,或者根据需要选择特定元素。 3. 提取内容:遍历每个元素节点,获取其文本内容和子元素。`XmlNode node...