鉴于此文件:什么是此xpath查询的Flex/AS3/E4X等效物?
<doc>
<element>
<list>
<key attr='val'/>
</list>
</element>
<element>
<list>
<key attr='other'/>
</list>
</element>
<element>
<list/>
</element>
</doc>
我想要的E4X当量的XPath //element[list/key/@attr="val"]
的。有可能这样做吗?
在没有@attr属性的情况下存在关键元素的情况下会做什么?我知道XPath不会为此返回任何节点,但对于简单表达式,e4x会为缺少属性错误类型的环境。这也发生在这里吗? – 2010-01-18 06:22:15
根据我的经验,如果缺少属性,则不会返回任何错误,也不会抛出错误。 – invertedSpear 2010-01-18 14:58:59
这将导致AS3中没有问题。 JavaScript有一个问题。只要在过滤器中对子节点上的属性进行检查(即使存在与否),也不会引发错误。 '..(@ bar ==“baz”)'会抛出一个错误,因为不是每个元素都有一个'bar'属性,所以你想尝试'..(function :: attribute(“bar”)==“ baz“)'在JavaScript中。 – 2010-01-18 15:27:35