我正在阅读AS3中的XML文件。我需要找出节点上是否存在属性。我想做类似的事情:

if(xmlIn.attribute("id")){
foo(xmlIn.attribute("id"); // xmlIn is of type XML
}

但是,这不起作用。即使属性id不在节点上,上述if语句也始终为true。

最佳答案

您必须这样做:

if(xmlIn.hasOwnProperty("@id")){
    foo(xmlIn.attribute("id"); // xmlIn is of type XML
}

在XML E4X解析中,您必须使用hasOwnProperty来检查是否在E4X XML对象节点上设置了该属性的属性。希望这可以帮助!

10-07 22:56