- 浏览: 1044750 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (538)
- 奇文共赏 (36)
- spring (13)
- hibernate (10)
- AOP/Aspectj (9)
- spring security (7)
- lucence (5)
- compass (3)
- jbmp (2)
- jboss rule(drools) (0)
- birt (1)
- jasper (1)
- cxf (3)
- flex (98)
- webgis (6)
- 设计模式 (1)
- 代码重构 (2)
- log4j (1)
- tomcat (9)
- 神品音乐 (1)
- 工作计划 (2)
- appfuse (1)
- svn (4)
- 寻章摘句 (3)
- eclipse (10)
- arcgis api for flex (1)
- 算法 (5)
- opengis-cs (1)
- bug心得 (13)
- 图标 (1)
- software&key (14)
- java (17)
- 搞笑视频 (13)
- sqlserver (9)
- postgresql (1)
- postgis (0)
- geoserver (5)
- 日子 (50)
- 水晶报表 (1)
- 绝对电影 (3)
- Alternativa3D (1)
- 酷站大全 (10)
- c++ (5)
- oracle (17)
- oracle spatial (25)
- flashbuilder4 (3)
- TweenLite (1)
- DailyBuild (6)
- 华山论贱 (5)
- 系统性能 (5)
- 经典古文 (6)
- SOA/SCA/OSGI (6)
- jira (2)
- Hadoop生态圈(hadoop/hbase/pig/hive/zookeeper) (37)
- 风水 (1)
- linux操作基础 (17)
- 经济 (4)
- 茶 (3)
- JUnit (1)
- C# dotNet (1)
- netbeans (1)
- Java2D (1)
- QT4 (1)
- google Test/Mock/AutoTest (3)
- maven (1)
- 3d/OSG (1)
- Eclipse RCP (3)
- CUDA (1)
- Access control (0)
- http://linux.chinaunix.net/techdoc/beginner/2008/01/29/977725.shtml (1)
- redis (1)
最新评论
-
dove19900520:
朋友,你确定你的标题跟文章内容对应???
tomcat控制浏览器不缓存 -
wussrc:
我只想说牛逼,就我接触过的那点云计算的东西,仔细想想还真是这么 ...
别样解释云计算,太TM天才跨界了 -
hw_imxy:
endpoint="/Hello/messagebr ...
flex+java代码分两个工程 -
gaohejie:
rsrsdgrfdh坎坎坷坷
Flex 与 Spring 集成 -
李涤尘:
谢谢。不过说得有点太罗嗦了。
Oracle数据库数据的导入及导出(转)
http://www.blogjava.net/rosen/archive/2008/12/23/247983.html
要解决 XML 处理的性能问题。就应该好好的利用 E4X,尽量避免在解析 XML 的过程中使用循环。这里介绍几篇文章让大家了解下《E4X:出色的 JavaScript》、《E4X 教程》、《AS3中新的XML处理方法 – E4X》。E4X给我最大的便利就是..运算符。思考下面的XML:
要得到所有属性fullname是”rosenjiang”的person节点的个数怎么做?在没详细了解 E4X 之前,我会用 myXML.group 操作得到 group 的 XMLList 集合,然后再用循环去找寻每个 group 中 person 节点属性 fullname 为”rosenjiang”的数据:
上面的写法的确很傻,下面是改进之后的代码,关键部分只有一行:
}
通过合理使用 E4X 语法,顺利的避免了循环带来的性能问题。过了几天,来个新的需求,需要统计出在这个 XML 中有几个不同姓名的 person。思考片刻,我可不可以用眼睛数出来啊?这里有 3 个...... 好吧,看来又是循环问题,第一个想到的是用两个嵌套 for 循环来进行排除处理,这是最直观的想法......
下面我介绍下如何用 ArrayCollection 并只使用一个循环来计算个数。由于 Flex 里面不支持 Map 类型,而我 Google 了一圈,且 RIACN 论坛上网友的 Map 实现性能都不行,遂打算用 ArrayCollection 模拟 Map 进行操作:
上面代码没什么过多解释,思路是取出一个 fullname 放进 ArrayCollection,然后判定下一个 fullname 是否存在于 ArrayCollection 中,如果存在就跳过,不存在就放进去再取下一个。另外我发现,使用 for each 比单纯的使用 for 性能要高一点点。
要解决 XML 处理的性能问题。就应该好好的利用 E4X,尽量避免在解析 XML 的过程中使用循环。这里介绍几篇文章让大家了解下《E4X:出色的 JavaScript》、《E4X 教程》、《AS3中新的XML处理方法 – E4X》。E4X给我最大的便利就是..运算符。思考下面的XML:
var myXML:XML = < groups name ="大组" > < group name ="小牛组" > < person fullname ="rosenjiang" /> < person fullname ="abc" /> </ group > < group name ="柴鸡组" > < person fullname ="rosenjiang" /> </ group > < group name ="柴鸭组" > < person fullname ="rosenjiang" /> < person fullname ="rosen jiang" /> </ group > < group name ="独立大队" > < person fullname ="rosenjiang" /> </ group > </ groups > ;
要得到所有属性fullname是”rosenjiang”的person节点的个数怎么做?在没详细了解 E4X 之前,我会用 myXML.group 操作得到 group 的 XMLList 集合,然后再用循环去找寻每个 group 中 person 节点属性 fullname 为”rosenjiang”的数据:
function on_click(): void { var list:XMLList = myXML.group; var count: int = 0 ; for (var i: int = 0 ; i < list.length(); i ++ ){ var persons:XMLList = list[i].person; if (persons.length() == 1 && persons.@fullname == " rosenjiang " ){ count ++ ; } else { for (var j: int = 0 ; j < persons.length(); j ++ ){ if (persons[j].@fullname == " rosenjiang " ){ count ++ ; } } } } Alert.show(count + " 个 " ); }
上面的写法的确很傻,下面是改进之后的代码,关键部分只有一行:
function on_click(): void { var list:XMLList = myXML..person.(@fullname == " rosenjiang " ); Alert.show(list.length() + " 个 " );
}
通过合理使用 E4X 语法,顺利的避免了循环带来的性能问题。过了几天,来个新的需求,需要统计出在这个 XML 中有几个不同姓名的 person。思考片刻,我可不可以用眼睛数出来啊?这里有 3 个...... 好吧,看来又是循环问题,第一个想到的是用两个嵌套 for 循环来进行排除处理,这是最直观的想法......
下面我介绍下如何用 ArrayCollection 并只使用一个循环来计算个数。由于 Flex 里面不支持 Map 类型,而我 Google 了一圈,且 RIACN 论坛上网友的 Map 实现性能都不行,遂打算用 ArrayCollection 模拟 Map 进行操作:
import mx.collections. * ; function on_click(): void { var list:XMLList = myXML..person; var ac:ArrayCollection = new ArrayCollection(); for each (var item:XML in list){ var fullname:String = item.@fullname; if (ac.getItemIndex(fullname) == - 1 ){ ac.addItem(fullname); } } Alert.show(ac.length + " 个 " ); }
上面代码没什么过多解释,思路是取出一个 fullname 放进 ArrayCollection,然后判定下一个 fullname 是否存在于 ArrayCollection 中,如果存在就跳过,不存在就放进去再取下一个。另外我发现,使用 for each 比单纯的使用 for 性能要高一点点。
发表评论
-
ActionScript 3.0 性能优化小知识
2010-07-30 14:12 1031http://xinsync.xju.edu.cn/in ... -
Flex企业级UI权限控制
2010-07-28 16:14 1299http://www.pin5i.com/showtopic- ... -
flex4中PopUpManager在module中有问题
2010-06-24 11:10 3139flex4中module加载module后flex4中 a ... -
Flex 开发: 类的反射
2010-06-24 10:56 1269http://www.ibm.com/developerwor ... -
Problems with ByteArray.writeObject()
2010-05-19 21:47 1723http://www.actionscript.org/for ... -
正在安装的adobe flash player版本不是最新的版本
2010-04-22 09:56 2455打开注册表编辑器,定位到HKEY_LOCAL_MACHINE\ ... -
AS3 优化 之 FOR内循环
2010-02-10 15:39 1562写游戏只要有思路,就能实现,但这也只是从功能角度出发,能不能有 ... -
flex模块切换时导致对象不正确序列化的解决办法
2009-12-02 09:08 1627http://lkfnn.iteye.com/blog/506 ... -
漂亮的登陆
2009-11-19 16:32 1159http://dougmccune.com/360Flex_A ... -
Download all 177 Flash Effects Source Files .fla
2009-11-13 09:27 1222http://www.jeffjoneslive.com/Fl ... -
flex如何接受其他页面Post过来的数据
2009-10-10 11:15 2556问题描述: 有个程序需要调用我的flex页面,需要给我传 ... -
Change font size in the whole app with Ctrl+/-
2009-10-09 10:06 1201http://feedproxy.google.com/~r/ ... -
flex delete关键词和类成员
2009-10-09 09:01 1406flash中delete关键词用来移除定义的变量,并不能从内存 ... -
Flex HTTPService如何给后台传递参数
2009-10-09 08:56 1525http://blog.csdn.net/joeyshi/ar ... -
FLEX Builder compiler arguments 的设置
2009-09-28 08:20 1655http://flash.9ria.com/thread-18 ... -
12 Best Adobe AIR Applications for Web Designers
2009-09-25 08:20 107612 Best Adobe AIR Applications ... -
做网页如何改变IE地址栏的显示IE图标
2009-09-23 16:55 2701这个问题的解决其实在flex之外 修改index.templa ... -
Flex设置html(页面标题)title问题
2009-09-23 15:31 3286如果你是一个整体系统用了同一个标题:可以修改模板页index. ... -
flex中文问题,访问中文路径问题
2009-09-23 14:36 1202本文最先发表在本人个 ... -
一些漂亮的Flex主题下载
2009-09-17 17:29 2335http://www.flexer.cn/blog/?p=64 ...
相关推荐
4. Flash和Flex中的XML应用:展示如何在ActionScript中使用E4X处理XML,包括加载、解析、修改XML文档,并在Flex组件中显示XML数据。 5. 数据绑定:探讨Flex中的数据绑定机制,如何将XML数据直接绑定到UI组件,实现...
E4X(ECMAScript for XML)是JavaScript的一个扩展,旨在简化XML处理,使JavaScript可以更加方便地创建、操作和解析XML文档。E4X将XML直接集成到JavaScript语法中,使得XML数据可以直接作为JavaScript对象进行操作,...
6. **优化性能**:为了提高性能,可以考虑使用E4X(ECMAScript for XML),这是ActionScript 3中内置的XML处理机制,它允许更直接和高效地操作XML。 通过这种结合,XML和Flash可以实现强大的动态内容生成,使开发者...
10. **优化性能**:虽然XML处理可能会影响性能,但通过合理的设计和优化,如使用E4X(ECMAScript for XML)语法,可以提高处理效率。 在压缩包"flashxml"中,可能包含了各种示例代码、教程文档或预设的Flash模板,...
E4A类库通常包含事件监听器,如`OnTouchEvent(event)`,开发者可以通过编写事件处理函数来响应用户交互。 5. **权限管理**: 创建悬浮窗可能需要在AndroidManifest.xml中声明相应的权限,例如`android.permission....
相比之下,AS3.0则遵循ECMAScript for XML (E4X)标准,这是一种专为简化JavaScript与XML交互而设计的标准。这意味着在AS3.0中,可以直接将XML作为内置类型进行处理,无需额外的库支持,大大提高了开发效率和代码的...
在处理XML数据时,AS3提供了XML类和E4X(ECMAScript for XML),使得在AS3中解析、操作和序列化XML变得非常直观。例如,可以使用`new XML()` 创建XML对象,然后通过XPath选择器获取特定节点,如`xml.book[0]`。 在...
- **查询(Query)**:利用XPath(XML Path Language)表达式查找XML树中的特定节点,或者使用E4X(ECMAScript for XML)的语法进行查询。 例如,要添加一个新的元素,你可以这样操作: ```as3 var newNode:XML = ...
AS3.0中可以使用`XMLList`或`E4X`(ECMAScript for XML)来解析XML文档,并将其数据绑定到UI组件上。这使得动态生成和更新菜单变得简单。 3. **下拉菜单的实现**: 下拉菜单通常由一个触发按钮和一个隐藏的列表...
E4X(ECMAScript for XML)是ActionScript 3中对XML的内置支持,它允许开发者直接在ActionScript代码中处理XML,如同操作普通变量一样,极大地简化了XML的解析和操作。 书中可能详细介绍了如何设置Flash Builder 4...
通过XMLSocket类或者URLLoader类,ActionScript可以从服务器获取XML数据,并利用E4X(ECMAScript for XML)语法进行解析和操作。例如,我们可以通过以下代码加载并解析XML: ```actionscript var loader:URLLoader ...
在性能方面,AS3使用了ECMAScript for XML (E4X) 支持XML处理,使得与XML数据的交互变得简单。同时,AS3支持位运算,这在处理图像和像素级操作时非常有用。此外,AS3还引入了垃圾回收机制,自动管理内存,减轻了...
- **E4X的使用**:E4X(Extension for XML)是ECMAScript的一个扩展,用于更简便地操作XML数据,intra-mart支持E4X的使用,使得XML处理更加高效。 - **JSSP-RPC的介绍**:这是一种用于远程过程调用的机制,允许...
正确的使用JavaScript,包括进行单元测试和利用E4X简化XML处理等,可以显著提升开发效率和应用质量。 5. **Ajax框架与工具**:各种Ajax框架(如jQuery)和工具(如Dojo Toolkit)的出现极大地简化了Ajax的开发流程,...
- **E4X 概念**:E4X 是一种专为XML数据处理而设计的语言扩展。 - **XML 对象**:如何创建、读取和修改XML文档。 10. **安全体系** - **沙箱策略**:为了保护用户的安全,Flash Player 采用沙箱机制限制应用...
随着浏览器技术的进步,Ajax技术体系也在不断扩展,如Firefox等支持SVG(Scalable Vector Graphics)矢量图,JavaScript 2.0(E4X)提供了XML处理的扩展,Canvas则允许在浏览器中绘制图形,实现类似游戏的应用。...
E4X(ECMAScript for XML)是一种用于处理XML数据的语言扩展。在Flex中,E4X使得XML解析和操作更加直观和高效。然而,E4X在某些现代版本的ActionScript中已被弃用,转而推荐使用XML解析库或JSON格式。 ### 37. 如何...
- **E4X**:AS3支持嵌入式XML语法(E4X),可以方便地读取、写入和操作XML文件,如`catalog.xml`可能是用来存储聊天记录或者配置信息的。 5. **数据序列化和反序列化** - **JSON**:为了在客户端和服务器之间交换...
- **ECMAScript for XML (E4X)**:ActionScript 3.0 实现了 E4X 规范,简化了 XML 操作的过程,使得 XML 处理变得更加自然流畅。 - **正则表达式**:ActionScript 3.0 包含了对正则表达式的全面支持,使得字符串...
- **用于处理XML的E4X方法**:介绍E4X(ECMAScript for XML)提供的简化XML处理方法,使XML操作更加直观和高效。 - **XML对象**:讲解如何创建和操作`XML`对象,包括如何读取和修改XML节点。 - **XMLList对象**:...