노드의 기본 네임 스페이스를 가져 오는 XPath 식을 찾고 있습니다.기본 네임 스페이스를 가져 오는 XPath 식
내 XML 문서는 다음과 같을 수 있습니다.
<aaa>
<bbb xmlns="ns1" xmlns:ggg="ns2" attribute="value" attribute2="value2">
<ccc />
</bbb>
<bbb xmlns="ns4" xmlns:ggg="ns5" attribute="value" attribute2="value2">
<ddd />
</bbb>
</aaa>
나는 ns1
을 얻고 싶습니다. 다음 표현식으로 시도했지만 아무 것도 작동하지 않습니다. (Java 1.7에서 프로그래밍 중이므로 (XPath 1.0이므로) http://chris.photobooks.com/xml/default.htm에 온라인 XPath 비주얼 라이저로 테스트했습니다.) 상기 attribute2
-nodes -
/aaa/*[name()='bbb' and position()=1]/attribute::*
이 식은 단지 attribute
를 선택한다.
/aaa/*[name()='bbb' and position()=1]/namespace::*
이 표현식은 아무 것도 선택하지 않습니다.
누군가 나에게 힌트를 주시면 감사하겠습니다.
답변 해 주셔서 감사합니다. 나는 실수하지 않았기 때문에 기쁘다. XPath 엔진에서 실제로 빌드되었습니다. 이제 저는 saxon 라이브러리를 사용하고 있으며 모든 것이 잘 작동합니다. –