我有一个由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文档中有名称空间阻碍了它们。我不提前知道命名空间或关心它们是什么。
有没有办法提前删除所有命名空间?有更好的方法吗?
谢谢!
答案 0 :(得分:3)
在E4X中,您可以使用通配符作为名称空间前缀。因此,如果您将node1.node2.node3
转换为*::node1.*::node2.*::node3
,您的eval
将匹配,忽略名称空间。