0

我一直在使用 E4X 表达式,它从来没有引起过问题。今天我得到了这个让我发疯的错误。检查了一切千遍,搜索网络,但什么也没有。

所以这是我对值的查询:

var objectName:String = myXML.objects.object.(@id==objectId);

其中 objectId 是一个int

这是我的 XML 的一部分:

<objects>

    <object id="0">value 1</object>
    <object id="1">value 2</object>
    <object id="2">value 3</object>

</objects>

运行上述行时,我收到一个错误,这对我来说似乎完全是胡说八道:

ReferenceError: Error #1065: Variable id is not defined.
4

1 回答 1

1

这是因为并非所有object节点都具有该id属性,请尝试使用更安全的方式通过检查来搜索属性hasOwnProperty("@id")

    var objectName:String = 
        xml.objects.object.(hasOwnProperty("@id") && @id=="2");
于 2013-08-28T11:37:45.033 回答