> Java > java지도 시간 > 본문

기본 네임스페이스를 사용하여 XML 문서에서 XPath를 평가하는 방법은 무엇입니까?

DDD
풀어 주다: 2024-10-24 06:38:30
원래의
763명이 탐색했습니다.

How to Evaluate XPath on XML Documents with Default Namespace?

기본 네임스페이스가 있는 XML 문서에서 XPath 사용

문제:

XML에서 XPath 평가 기본 네임스페이스가 있는 문서는 특히 네임스페이스 URI를 지정하지 않으면 어려운 작업입니다. 이 문제는 원하는 효과를 얻지 못한 채 setNamespaceAware에 의존할 때 발생합니다.

해결책:

기본 네임스페이스로 XPath를 효과적으로 활용하려면 다음 접근 방식을 고려하세요.

1. NamespaceContext:

NamespaceContext를 사용하면 네임스페이스 매핑을 수동으로 정의하여 XPath 조각이 접두사 없이 네임스페이스를 참조할 수 있습니다. 이 접근 방식은 접두사 사용에 유연성을 허용하고 XPath 표현식을 단순화합니다.

예제 코드:

<code class="java">// Custom NamespaceContext
private static class MyNamespaceContext implements NamespaceContext {

    public String getNamespaceURI(String prefix) {
        if ("ns".equals(prefix)) {
            return "http://www.mydomain.com/schema";
        }
        return null;
    }
}

// XPath with NamespaceContext
XPath xPath = XPathFactory.newInstance().newXPath();
xPath.setNamespaceContext(new MyNamespaceContext());
NodeList nl = (NodeList) xPath.evaluate("/ns:root/ns:author", dDoc, XPathConstants.NODESET);</code>
로그인 후 복사

2. 네임스페이스 참조 방지:

기본 네임스페이스를 사용해야 하는 경우 XPath 표현식을 조정하여 네임스페이스 참조를 완전히 제거하세요. 이 접근 방식을 사용하려면 적절한 XML 구문을 준수해야 하며 다양한 XML 구문 분석 라이브러리에서 일관된 동작을 보장해야 합니다.

예제 코드:

<code class="java">XPath xPath = XPathFactory.newInstance().newXPath();
NodeList nl = (NodeList) xPath.evaluate("/root/author", dDoc, XPathConstants.NODESET);</code>
로그인 후 복사

참고:

이러한 기술을 사용하면 XPath를 사용하여 기본 네임스페이스로 XML 문서를 성공적으로 조작할 수 있습니다. 특정 XML 구조와 일치하도록 NamespaceContext 또는 XPath 표현식 내의 네임스페이스 선언을 사용자 정의해야 합니다.

위 내용은 기본 네임스페이스를 사용하여 XML 문서에서 XPath를 평가하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿
회사 소개 부인 성명 Sitemap
PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!