본문 바로가기
프로그래밍/Java

자바로 OpenAPI로 받은 XML 데이터 파싱하기

by so5663 2023. 6. 13.

 

회사에서 xml 형식의 데이터를 파싱할 업무가 있어서 블로그에 정리 했습니다.

 

import org.w3c.dom.Document;
import org.w3c.dom.Element;
import org.w3c.dom.NodeList;
import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import java.io.InputStream;
import java.net.URL;

public class Main {
    public static void main(String[] args) {
        try {
            String url = "http://plus.kipris.or.kr/openapi/rest/ForeignPatentBibliographicService/bibliographicInfo?"
            	+ "literatureNumber=000005640865A1" // 문헌번호
            	+ "&countryCode=US" // 나라코드
            	+ "&accessKey=1q2w3e4r="; // 액세스키
			
            DocumentBuilderFactory dbFactory = DocumentBuilderFactory.newInstance(); //DocumentBuilderFactory 인스턴스를 생성
            DocumentBuilder dBuilder = dbFactory.newDocumentBuilder(); //DocumentBuilder의 인스턴스를 할당
            URL apiUrl = new URL(url);
            
            InputStream inputStream = apiUrl.openStream(); //연결된 url InputStream으로
            Document doc = dBuilder.parse(inputStream); //XML파일 파싱 
            doc.getDocumentElement().normalize(); //DOM Tree가 XML 문서의 구조 생성

            NodeList astrtContList = doc.getElementsByTagName("astrtCont"); //astrtCont 태그
            Element astrtContElement = (Element) astrtContList.item(0);
            String astrtCont = astrtContElement.getTextContent();
            System.out.println("astrtCont: " + astrtCont);
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

 

https://docs.oracle.com/javase/8/docs/api/javax/xml/parsers/DocumentBuilder.html

 

DocumentBuilder (Java Platform SE 8 )

Defines the API to obtain DOM Document instances from an XML document. Using this class, an application programmer can obtain a Document from XML. An instance of this class can be obtained from the DocumentBuilderFactory.newDocumentBuilder() method. Once a

docs.oracle.com

공식홈페이지를 참고 했습니다.