ActionScript 3.0宝典有两类特性:语言特性和 Flash Player API 特性。语言特性基本上是在 ActionScript 2 之上构建的,但是还有一些性能和功能方面的改进,包括:
-许多运行时异常,用来改进常见的错误处理和调试。这些运行时异常会显示堆栈跟踪,可以帮助开发人员轻松地找到错误的根源。以前的 ActionScript 版本会悄悄地掩盖错误,以避免在 Flash 中出现错误消息对话框。这在开发期间会造成困难,因为开发人员不了解可能出现的错误,就无法开发出好产品。
-在运行时存储类型细节,用来进行检查并保护系统,因此 ActionScript 3 是强类型的。这还有助于减少内存使用量,因为类型信息以本机机器表示法表示变量。
2.添加或者修改属性
方便的不能再方便,直接写即可。爽翻天啊。
//把id == 1的节点level值改为2
kingdaXML.item.(@id==1).level = 2;
//把id==1的节点添加一个属性 page
kingdaXML.item.(@id==1).page = 100;
trace (kingdaXML.item.(@id==1));
3.按某条件插入节点
var newNode1:XML = 0
var newNode2:XML = 0
//把newNode1插入到id==2的节点后面
kingdaXML = kingdaXML.insertChildAfter(kingdaXML.item.(@id==2), newNode1);
//把newNode1插入到id==2的节点前面
kingdaXML = kingdaXML.insertChildBefore(kingdaXML.item.(@id==2), newNode2);
trace (kingdaXML);
XML的高级操作
常用的操作上面已经介绍的很清楚了。高级操作则是留给对XML应用更深的兄弟们。
几点注意:
1.在AS3.0中, XML类的ignoreWhitespace默认为true。
2.AS3.0支持对comments的直接操作。但默认:
XML.ignoreComments = false;
var kingdaXML:XML =
;
trace(kingdaXML.toXMLString()); //默认为true时,不会显示comment的
访问comment用
trace(kingdaXML.comments()[1].toXMLString());
3.XML支持克隆。
使用copy()可以得到一份现有XML的值拷贝。
var kingdaCopy:XML = kingdaXML.copy();
对kingdaCopy操作就不会影响kingdaXML对象了。
4.极有用的descendants函数返回一个XMLList对象,包括所有的子节点。
设ignoreComments = false;和ignoreProcessingInstructions = false后,连comments和process instructions也会包含在这个XMLList对象中。
运用示例如下:
XML.ignoreComments = false;
var xml:XML =
text1
text2
;
trace(xml.descendants("*").length()); // 5
trace(xml.descendants("*")[0]); // //
trace(xml.descendants("*")[1].toXMLString()); // text1
trace(xml.descendants("a").toXMLString()); // text2
trace(xml.descendants("b").toXMLString()); // text2
还有太多的XML有用操作功能了(如对namespace的操作)。用到时再去翻参考书吧。
以上的介绍可以满足绝大部分运用了。
对了AS2.0已有的XML类,在3.0中变成了XMLDocument类,使用方法不变。便于AS2.0程序移植。
想要了解更多有关actionscript 3.0宝典的知识可以查询:天地会。