手写纯AS3之XML解释器
XMLTree----这个东东用来呈现XML数据(将来有修改编辑的功能)
尽管在MXML组件中貌似是有这种东东的,但本人处于偏爱纯AS3的癖好
做了这个东东,刚刚写出雏形,拿给大家来批一下
算法概述:
用树型结构来表示XML的内容
树上的每一个结点都是一个XMLTree的实例
每一个XMLTree具有level和serial两个属性
通过这两个属性来表示其在XML数据中的相应结点
(level是距根的距离,相当于'辈份',serial是'在兄弟中的排行')*查询
查询某个结点(比如说要展开它,显示他的内容)时
从他自己开始一直向上查询parent
把所有经过的XMLTree结点的serial存入一个ByteArray来表示位置
然后根据ByteArray从XML中查出其所对应的结点*数据定位方法
之所以每个结点不是直接保存绝对路径而是只保存serial
是因为这样设计使对XML进行添加/删除操作时
只需要修改被增/删的结点的兄弟的serial
否则将导致被增/删结点的所有兄弟的整个子树所有结点的serial都需要修改
(添加/删除操作功能目前还未写出)本人比较愚钝
希望各位高人及早提出批评和意见
本人以便及早改正错误
以免最后写出有缺陷的东东~
PS:将来还有每个XML结点分别装进XMLTree实例的类型
我晕这论坛这么这样啊?只能传jpg和gif?!
zip文件加上jpg后缀还报错!只好贴链接:
代码在此