웹개발/java

자바 DocumentBuilder를 활용한 xml 파싱

지구별 여행자 임탱 2024. 4. 7. 23:58
728x90

자바로 xml을 파싱하는 방법으로 주로 사용하는 객체가 DocumentBuilder입니다.

DocumentBuilder는 XML 문서를 파싱하여 DOM(Document Object Model) 트리를 생성하는 데 사용됩니다. 

이 방법은 XML 문서를 메모리에 로드하여 문서의 모든 부분에 접근할 수 있게 해줍니다.

 

기본 사용 방법
 * DocumentBuilderFactory 생성: 먼저 DocumentBuilderFactory 인스턴스를 생성합니다. 이 팩토리를 통해 DocumentBuilder 인스턴스를 생성할 수 있습니다.
 * DocumentBuilder 생성: DocumentBuilderFactory에서 newDocumentBuilder() 메소드를 호출하여 DocumentBuilder 인스턴스를 생성합니다.
 * XML 파싱: 생성된 DocumentBuilder의 parse() 메소드를 사용하여 XML 파일을 파싱하고, DOM 객체를 얻습니다.

import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import org.w3c.dom.Document;
import org.w3c.dom.Element;
import org.w3c.dom.Node;
import org.w3c.dom.NodeList;

public class XMLParserExample {
    public static void main(String[] args) throws Exception {
        // DocumentBuilderFactory 생성
        DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
        // DocumentBuilder 생성
        DocumentBuilder builder = factory.newDocumentBuilder();
        // XML 문서 파싱
        Document document = builder.parse(new File("example.xml"));
        
        // 루트 엘리먼트 가져오기
        Element root = document.getDocumentElement();
        // 특정 태그 이름을 가진 요소들의 리스트 가져오기
        NodeList nodeList = root.getElementsByTagName("book");
        for (int i = 0; i < nodeList.getLength(); i++) {
            Node node = nodeList.item(i);
            if (node.getNodeType() == Node.ELEMENT_NODE) {
                // 요소 처리
            }
        }
    }
}

DocumentBuilder를 사용하면 XML 문서의 구조를 이해하고 필요한 데이터를 쉽게 추출할 수 있습니다. XML 파일의 크기가 크지 않다면 이 방법이 매우 효율적입니다.