从ActionScript 2.0迁移到ActionScript 3.0: 主要概念和更改-使用 XML

载入 XML

XML 类不再包含载入功能。它只是用于处理 XML 结构。要载入 XML, 应执行与调用服务器端脚本相同的流程; 使用 URLReqest 和 URLLoader 类。

以下示例显示如何载入 XML 文件并响应数据载入过程的完成:

注意上例中 as 关键字在事件处理函数中的用法。在 ActionScript 3.0 中, as 关键字可用于测试一个对象的数据类型是否与另一个对象匹配。 它还可以用于将对象转换为相关数据类型。如果您接收到一个对象引用, 而引用不一定属于相同数据类型, 或是当您要测试一个数据类型是否与另一个匹配时, 这很实用。例如, 在上述代码中, 您可以使用 as 关键字检查 event.target 是否为 URLLoader。如果引用为 null , 则它不是 URLLoader。这种验证是避免运行时错误的好方法。

使用 ActionScript 直接编写 XML

ActionScript 3.0 有一个出色的新增功能, 它可以使用 ActionScript 语句直接编写 XML。

以下示例显示一个变量, 它包含使用 ActionScript 编写的 XML:

使用点语法处理 XMLList 对象

与 ActionScript 2.0 相比, ActionScript 3.0 XML 类要好用得多, 因为您可以像访问标准对象中的属性那样访问节点。您可以使用点记号和 XMLList 方法轻松检索信息。XMLList 是一个新类, 它表示节点中的一系列子代。XMLList 的使用方法与标准数组相似。

以下示例说明如何在 books XML 对象中实现 book XMLList 循环:

过滤 XML 而无需循环

在 ActionScript 3.0 中使用 XML 的另一个出色功能是可以过滤 XMLList 对象而无需循环。您可以增加 XML 处理运算符, 由 Adobe Flash Player 完成工作。

以下示例说明如何通过过滤 book XMLList 返回一个新的 XMLList, 并且它只包含 category 属性为 2 的书籍:

注意如何使用 @ 运算符访问属性以及如何使用条件语句过滤结果。

访问 XML 属性

虽然新的 XML 语法使用更简单, 但必须注意节点内容并不一定计算到 String 数据类型。在条件语句中复制数据或比较字符串时, 这可能导致问题。您可以将节点值转换为 String 或使用元素的 text 方法。

以下示例将第二本书籍的作者作为文本字符串进行检索:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值