xml - 在 ActionScript 3 中是否需要/推荐在 XML 中测试节点是否存在?

标签 xml flash actionscript-3 actionscript

下面是用ActionScript 3读取XML的例子

var xml:XML = 
    <content>
        <a>Hello A</a>
        <b>Hello B</b>
        <c>
            <c1>Child C1</c1>
            <c2>Child C2</c2>
        </c>
    </content>;


trace(xml.a); // OP: Hello A
trace(xml.c.c1); // OP: Child C1
trace(xml.d); // OP: (nothing)
trace(xml.b);; // OP: Hello B

我没有看到 xml.d 按预期行为输出空字符串?这是正常的吗?这是什么原因呢?

对我来说,我“感觉”我应该这样做:

if(xml.d) trace(xml.d);

可以依赖空字符串行为吗? IE 是否需要检查节点是否存在??

最佳答案

xml.d 是 XMLList。由于节点不存在,此列表将为空。
您可以使用 xml.d.length()(给出节点 d 的计数)或 xml.d[0](给出第一个节点 d,将为 null)测试节点是否存在在这种情况下)。

关于xml - 在 ActionScript 3 中是否需要/推荐在 XML 中测试节点是否存在?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5891674/

相关文章:

xml - 如何在 XSD 中处理具有不同 URI 的多个命名空间

Android ListView 返回空值?

xml - 从字符串(不是文件)获取 XML

flash - 如何强制TinyMCE使用YouTube嵌入式Flash代替iframe?

actionscript - Flash流播放器(教程?)

android - 在 Air Mobile 中加载外部交互式 swf

android - 当回收器 View 项目根是 LinearLayout 时,为什么 match_parent 不起作用?

apache-flex - Flex/Flash:如何在多个SWC中嵌入相同字体

actionscript-3 - 在 flashbuilder 中将 as3 项目编译为 swc 文件

apache-flex - 如何在运行时更改 Flex 3.5 应用程序的应用程序背景颜色?