프로그래밍/Java
자바로 OpenAPI로 받은 XML 데이터 파싱하기
soso-shs
2023. 6. 13. 22:36
회사에서 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
공식홈페이지를 참고 했습니다.