如何使用e4x删除命名空间?

时间:2010-03-24 21:09:01

标签: javascript xml parsing e4x

我有一个由URL提供的任意XML文档。我也有类似xpath的表达式。

var xml = <doc><node1><node2><node3>some value</node3></node2></node1></doc>;
var path = "node1.node2.node3";

我需要验证上面的XML路径是否有效。我尝试使用eval和E4X来做到这一点。

var value = eval("xml."+path);

但是,我的实际xml文档中有名称空间阻碍了它们。我不提前知道命名空间或关心它们是什么。

有没有办法提前删除所有命名空间?有更好的方法吗?

谢谢!

1 个答案:

答案 0 :(得分:3)

在E4X中,您可以使用通配符作为名称空间前缀。因此,如果您将node1.node2.node3转换为*::node1.*::node2.*::node3,您的eval将匹配,忽略名称空间。