2010-03-24 12 views
3

URL에서 제공하는 임의의 XML 문서가 있습니다. 나는 또한 xpath와 같은 표현을 가지고있다.e4x로 네임 스페이스를 제거하는 방법은 무엇입니까?

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 문서에는 방해가되는 이름 공간이 있습니다. 나는 네임 스페이스를 미리 알지 못하거나 그들이 무엇인지 신경 쓰지 않는다.

미리 모든 네임 스페이스를 제거 할 수 있습니까? 이 작업을 수행하는 더 좋은 방법이 있습니까?

감사합니다.

답변

3

E4X에서 네임 스페이스 접두사에 와일드 카드를 사용할 수 있습니다. 따라서 node1.node2.node3*::node1.*::node2.*::node3으로 변환하면 eval이 일치하고 네임 스페이스는 무시됩니다.

관련 문제