본문 바로가기
IT개발자의 삶/JAVA&JSP

JAVA XML 파싱 예제.

by 한님의밝음 2023. 7. 6.

데이터 송수신 방식중 자주 사용되는 XML을 JAVA로 처리(DB 입력 등)하기 위해서는,

반드시 파싱이 필요한데, 해당 작업을 위한 예제 코드를 생성하여 공유합니다.

 

*Java에서 XML을 파싱하기 위해 주로 사용되는 방법 중 하나인 DOM(Document Object Model)을 활용

import org.w3c.dom.Document;
import org.w3c.dom.Element;
import org.w3c.dom.Node;
import org.w3c.dom.NodeList;

import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import java.io.File;

public class XMLParserExample {
    public static void main(String[] args) {
        try {
            // XML 파일 경로
            File xmlFile = new File("example.xml");

            // XML 파서 생성
            DocumentBuilderFactory dbFactory = DocumentBuilderFactory.newInstance();
            DocumentBuilder dBuilder = dbFactory.newDocumentBuilder();

            // XML 파일을 파싱하여 Document 객체로 가져옴
            Document doc = dBuilder.parse(xmlFile);

            // 루트 엘리먼트 가져오기
            Element rootElement = doc.getDocumentElement();
            System.out.println("Root element: " + rootElement.getNodeName());

            // 자식 노드들을 탐색
            NodeList nodeList = rootElement.getChildNodes();
            for (int i = 0; i < nodeList.getLength(); i++) {
                Node node = nodeList.item(i);

                // 엘리먼트 노드인 경우에만 처리
                if (node.getNodeType() == Node.ELEMENT_NODE) {
                    Element element = (Element) node;

                    // 엘리먼트의 태그 이름과 내용 출력
                    System.out.println("Element: " + element.getNodeName());
                    System.out.println("Content: " + element.getTextContent());
                }
            }
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

위의 코드에서 example.xml은 파싱할 XML 파일의 경로를 나타내는 부분입니다. 

해당 경로를 실제 XML 파일의 경로로 변경해주어야 합니다.

이 코드는 DOM 파서를 사용하여 XML 파일을 파싱하고, XML의 루트 엘리먼트와 자식 노드들을 순회하면서 엘리먼트의 이름과 내용을 출력합니다. 필요에 따라 코드를 수정하여 원하는 방식으로 XML을 처리하실 수 있습니다.