회사에서 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
공식홈페이지를 참고 했습니다.
'프로그래밍 > Java' 카테고리의 다른 글
[Java] Jsoup를 이용한 웹 크롤링 (0) | 2023.06.15 |
---|---|
[Java] "|" 를 구분자로 하여 split 하기 (1) | 2023.06.14 |
[JAVA] Map for-each 정리 (0) | 2023.06.08 |
[Java] HashMap Value 기준으로 정렬 (0) | 2023.01.24 |
Java Comparable, Comparator (0) | 2023.01.11 |