[java] XML 파일에서 XPath를 사용하여 요소 필터링하기

XML은 데이터를 저장하고 전송하기 위한 형식으로, 트리 구조를 갖는다. XML 파일에서 원하는 정보를 추출하기 위해 XPath를 사용할 수 있다. XPath는 XML 문서 내에서 특정 노드를 식별하고 선택하기 위한 언어이다.

XPath란?

XPath는 XML 문서에서 특정 노드를 식별하고 선택하기 위한 언어이다. XML 문서의 특정 부분에 접근하고 원하는 요소를 선택할 때 사용된다.

Java에서 XPath 사용하기

Java 언어에서는 javax.xml.xpath 패키지를 사용하여 XPath를 쉽게 처리할 수 있다. 아래는 Java에서 XPath를 사용하여 XML 요소를 필터링하는 예제 코드이다.

import javax.xml.xpath.*;

public class XPathExample {
    public static void main(String[] args) throws Exception {
        // XML 파일 로드
        DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
        DocumentBuilder builder = factory.newDocumentBuilder();
        Document doc = builder.parse(new File("example.xml"));
        
        // XPath 객체 생성
        XPathFactory xpathFactory = XPathFactory.newInstance();
        XPath xpath = xpathFactory.newXPath();
        
        // XPath를 사용하여 요소 필터링
        XPathExpression expr = xpath.compile("//book[price>30]/title/text()");
        NodeList nodeList = (NodeList) expr.evaluate(doc, XPathConstants.NODESET);
        
        // 결과 출력
        for (int i = 0; i < nodeList.getLength(); i++) {
            System.out.println(nodeList.item(i).getNodeValue());
        }
    }
}

위 코드에서는 //book[price>30]/title/text() XPath 식을 사용하여 가격이 30보다 큰 책의 제목을 필터링하고 출력하는 예제이다.

마무리

XPath를 사용하면 XML 파일에서 원하는 정보를 쉽게 추출할 수 있다. Java에서는 javax.xml.xpath 패키지를 사용하여 간편하게 XPath를 처리할 수 있다. XML 파싱 및 데이터 추출에 XPath를 적용하여 보다 효율적으로 작업할 수 있다.

이렇게 XML 파일에서 XPath를 사용하여 요소를 필터링하는 방법에 대해 간단히 살펴보았다. Java에서 XPath를 효율적으로 활용하여 XML 데이터를 처리할 수 있다.

참고문헌: