javascript - 如何使用 e4x 去除 namespace ?

标签 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 文档中有 namespace ,这会妨碍我的工作。我事先不知道 namespace ,也不关心它们是什么。

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

谢谢!

最佳答案

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

关于javascript - 如何使用 e4x 去除 namespace ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2511427/

相关文章:

perl - 为什么 Perl 的 Spreadsheet::ParseExcel 永远不会从 $parser->parse ('test.xls' 返回)?

python read_fwf 错误 : 'dtype is not supported with python-fwf parser'

regex - 使用正则表达式进行日志解析

javascript - 第一次点击不显示 Twitter Bootstrap 3 弹出窗口

c# - 从文件中加载 xml

c# - 加扰 XML 中的文本元素

java - Xml 到 JSON 单值数组处理

javascript - 从装饰器添加新属性

javascript - 提交后水印出现在 Canvas 上

javascript - 在 Chrome 中运行 JavaScript 文件