반응형
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
|
package patient;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.URL;
import java.net.URLEncoder;
import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.parsers.ParserConfigurationException;
import org.w3c.dom.Document;
import org.w3c.dom.Node;
import org.w3c.dom.NodeList;
import org.w3c.dom.Element;
import org.xml.sax.SAXException;
import java.io.BufferedReader;
import java.io.IOException;
public class ApiExplorer {
private static String getTagValue(String tag, Element eElement) {
NodeList nlList = eElement.getElementsByTagName(tag).item(0).getChildNodes();
Node nValue = (Node) nlList.item(0);
if(nValue == null)
return null;
return nValue.getNodeValue();
}
public static void main(String[] args) throws SAXException, IOException, ParserConfigurationException {
String url = "http://openapi.data.go.kr/openapi/service/rest/Covid19/getCovid19InfStateJson?ServiceKey=서비스키";
DocumentBuilderFactory dbFactory = DocumentBuilderFactory.newInstance();
DocumentBuilder dBuilder = dbFactory.newDocumentBuilder();
Document doc = dBuilder.parse(url);
doc.getDocumentElement().normalize();
System.out.println("Root element: " + doc.getDocumentElement().getNodeName());
NodeList nList = doc.getElementsByTagName("body");
//System.out.println(nList);
for(int temp = 0; temp < nList.getLength(); temp++){
Node nNode = nList.item(temp);
if(nNode.getNodeType() == Node.ELEMENT_NODE){
Element eElement = (Element) nNode;
System.out.println("######################");
//System.out.println(eElement.getTextContent());
System.out.println("확진자 수 : " + getTagValue("decideCnt", eElement));
System.out.println("사망자 수 : " + getTagValue("deathCnt", eElement));
System.out.println("검사 진행 수 : " + getTagValue("examCnt", eElement));
System.out.println("격리 해제 수 : " + getTagValue("clearCnt", eElement));
System.out.println("치료중 환자 수 : " + getTagValue("careCnt", eElement));
} // for end
}
}
}
|
cs |
728x90
반응형
'💻 개인공부 💻 > Java' 카테고리의 다른 글
[JDBC] Java - mariaDB 연결 예제 (0) | 2020.08.11 |
---|---|
How to Convert Json to HashMap (feat. JAVA) [공공데이터포털API] (0) | 2020.08.10 |
JAVA) - 재귀함수를 이용한 피보나치 수열과 팩토리알 (0) | 2020.04.14 |
JAVA - 배열의 크기/길이를 줄일 수 있을까?, 배열 길이 축소 (4) | 2020.04.04 |
[JAVA] JDBC 연동 - 3. JAVA와 DATABASE 연동 예제 및 소스코드 (0) | 2020.03.11 |