在E4X中过滤

时间:2010-05-25 17:26:29

标签: javascript rhino e4x

这只是一个简单的问题。我目前正在使用Mozilla的Rhino来开发一个小的webapp。作为一个步骤,我需要获取一个网页并过滤其所有节点。为此,我使用E4X。我以为我可以这样做:

var pnodes = doc..*(p);

但这会产生错误。怎么做对了?

(顺便说一句:这只是提高性能的一步。代码已经做得很好,它只是有点慢。)

1 个答案:

答案 0 :(得分:2)

您应该可以使用以下内容:

doc..*.(name() == "p")

请注意,Rhino和SpiderMonkey实现中有一个bug,其中过滤器表达式name() == "p"未正确确定当前节点的范围,因此XML或{{方法已定义。


另一个可行的解决方案是查找文档中的所有XMLList节点,并在数组中累积每个节点的父节点。

p