XPath를 사용하여 Java에서 네임스페이스로 XML 쿼리
네임스페이스에 바인딩된 요소가 포함된 XML 문서로 작업할 때 XPath를 사용한 쿼리가 어려울 수 있습니다. 다음 예를 고려하십시오.
"/workbook/sheets/sheet[1]"와 같은 기본 "네임스페이스 없음" XPath 표현식을 사용하면 실패합니다. 이는 XML 문서의 요소가 XPath 표현식에서 고려되지 않는 네임스페이스에 바인딩되어 있기 때문입니다.
해결책 1: 네임스페이스 등록 및 네임스페이스 접두사 사용
권장되는 접근 방식은 네임스페이스 접두사를 사용하여 네임스페이스를 등록하여 XPath를 더 쉽게 읽고 유지 관리하는 것입니다.
네임스페이스 접두사를 사용하면 XPath 표현식은 "/main:workbook/main:sheets/ main:sheet[1]"은 지정된 네임스페이스에 바인딩된 요소를 올바르게 지정합니다.
해결책 2: 일반 일치 및 조건자 필터
또는 네임스페이스 접두사는 요소에 대한 일반 일치와 원하는 local-name() 및 네임스페이스-uri()를 지정하는 조건자 필터를 사용하여 구성할 수 있습니다.
이 방법은 장황하며 표시할 수 있습니다. XML 문서에 혼합된 어휘가 있으면 위험합니다.
결론
네임스페이스가 있는 XML 문서를 처리할 때는 네임스페이스 바인딩을 고려하는 것이 필수적입니다. 접두어로 네임스페이스를 등록하거나 일반 XPath 표현식을 주의 깊게 작성하면 정확하고 안정적인 쿼리를 수행할 수 있습니다.
위 내용은 XPath를 사용하여 Java에서 네임스페이스로 XML을 쿼리하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!