2016-12-16 2 views
0

Azure에서 돼지 스크립트를 통해 XML 파일을 실행하려고합니다. 나는 부모 노드가 네임 스페이스를 갖고 있기 때문에 문제가 발생했다.상위 노드에 네임 스페이스가있을 때 돼지에서 XPathAll 사용

스크립트는 오류없이 실행되지만 빈 결과()가 반환됩니다. 네임 스페이스 때문에 XMLLoader를 다르게 호출해야합니까? 내가 돈 때문에 돼지를 사용하지 않는

ns:Parent/ns:Child 

:

답변

0

일반적으로, 당신은 ns 말 기본 네임 스페이스 URI를 참조하고 기본 네임 스페이스의 요소를 참조하는 해당 접두어를 사용하여 접두사를 선언해야 접두사 선언을 지원하는지 여부를 알지 못합니다. 순수의 XPath 접근 방식은 지역 이름이름 공간 URI의 조합에 의해 요소와 일치하는 것 (읽기 쉽도록 두 줄로 표시) :

*[local-name()='Parent' and namespace-uri()='default ns URI here'] 
/*[local-name()='Child' and namespace-uri()='default ns URI here'] 

그런 다음 다른 네임 스페이스에 같은 이름을 가진 다른 요소가없는 경우 namespace-uri 기준을 제거하여 XPath를 단순화 할 수 있습니다.

*[local-name()='Parent']/*[local-name()='Child']