4

鉴于此文件:

<doc>
    <element>
        <list>
            <key attr='val'/>
        </list>
    </element>
    <element>
        <list>
            <key attr='other'/>
        </list>
    </element>
    <element>
        <list/>
    </element>
</doc>

我想要一个与 xpath 等效的 e4x //element[list/key/@attr="val"]。有可能这样做吗?

4

3 回答 3

2
xmlVarName.element.list.key.(@attr=="val");

选择

xmlVarName..key.(@attr=="val");
于 2010-01-14T23:36:48.333 回答
2
..element.(list.key.@attr == "val")
于 2010-01-17T22:41:25.987 回答
1

需要注意的是

..element.(list.key.@attr == "val")

如果关键节点并非都具有@attr ,则可能会失败。

提取节点列表的最安全(尽管根据我的经验,不是 100% 成功)的方法是。

..element.(list.key.attribute("attr") == "val")

但是,我在使用 e4x 和条件表达式时遇到了问题(AS3 实现,Mozilla 似乎更好。)但这似乎取决于 xml 源。

于 2010-05-02T03:25:57.170 回答