2010-03-24 137 views
3

我有一個URL提供的任意XML文檔。我也有一個類似xpath的表達式。如何用e4x去除名稱空間?

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

我需要驗證上述路徑是否有效。我試圖用eval和E4X來做到這一點。

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

但是,我的實際的xml文檔有名稱空間阻礙。我不提前知道命名空間或關心它們是什麼。

是否有辦法提前剝離所有命名空間?有一個更好的方法嗎?

謝謝!

回答

3

在E4X中,您可以使用通配符來命名空間前綴。因此,如果將node1.node2.node3轉換爲*::node1.*::node2.*::node3,您的eval將匹配,忽略名稱空間。

相關問題