반응형
howbeautifulworld.tistory.com/19
1편에서는 API를 호출해봤습니다.
2편에서는 파싱을 할 것입니다.
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 apitest2 {
public static void main(String[] args) {
try {
String key = "";
String word = "글썽이다";
String url = "https://stdict.korean.go.kr/api/search.do?key=" + key + "&type_search=search&q=" + word;
DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
DocumentBuilder db = dbf.newDocumentBuilder();
Document doc = db.parse(url);
NodeList nl = doc.getElementsByTagName("item");
for (int i = 0; i < nl.getLength(); i++) {
Node node = nl.item(i);
if (node.getNodeType() == Node.ELEMENT_NODE) {
Element element = (Element) node;
System.out.println("target_code : " + getValue("target_code", element));
System.out.println("word : " + getValue("word", element));
System.out.println("pos : " + getValue("pos", element));
System.out.println("definition : " + getValue("definition", element));
System.out.println("link : " + getValue("link", element));
System.out.println();
}
}
} catch (Exception e) {
e.printStackTrace();
}
}
public static String getValue(String tag, Element element) {
NodeList nl = element.getElementsByTagName(tag).item(0).getChildNodes();
Node value = (Node) nl.item(0);
return value.getNodeValue();
}
}
코드입니다.
태그에 원하는 태그를 넣으면 됩니다.
결과입니다.
반응형
'Java' 카테고리의 다른 글
이클립스 디버깅 값 중간에 끊김 (0) | 2023.04.22 |
---|---|
이클립스 Ctrl+F 찾기 배경 설정 (0) | 2023.01.04 |
[Java] BigInteger 클래스 사용 (0) | 2021.05.27 |
[Java] 표준국어대사전 오픈 API 사용하기 - 1(호출) (0) | 2021.04.15 |
[Java] Thread를 이용한 타이머 + GUI (1) | 2021.04.01 |
댓글