728x90
반응형
보통 API를 통해 데이터를 가져오면 XML이나 JSON 형식으로 많이 가져온다.
오늘은 API를 통해 XML형식으로 데이터를 가져왔을 때, 문자열(String)으로 변환하는 방법을 정리하려 한다.
샘플코드
package app.model.com;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.net.MalformedURLException;
import java.net.URL;
public class XMLtoString {
public static void main(String[] args) throws IOException {
/**
* testURL : XML데이터를 받을 테스트 URL
* result : XML데이터를 변환한 문자열(String)을 담을 변수
* line : BufferedReader의 readLine을 담을 변수
*/
String testURL = "https://api.odcloud.kr/api/HousePriceTrendSvc/v1/getHousePriceIndex?page=1&perPage=1&returnType=XML&cond[RESEARCH_DATE%3A%3ALTE]=202209&cond[RESEARCH_DATE%3A%3AGTE]=201401&cond[APT_TYPE%3A%3AEQ]=1&cond[TR_GBN%3A%3AEQ]=S&cond[WEEK_FLAG%3A%3AEQ]=M&serviceKey=kKpMWs%2BB7PNqZUGhNY6Wv1Tfvrckn9d3DoT0vWO0EjY5xN06%2BP53Po%2FaGkNo193gHjU8SuGkE2%2Fu65phwcW6NA%3D%3D";
String result = "";
String line = "";
/**
* testURL로 URL을 생성
*/
StringBuilder urlBuilder = new StringBuilder();
urlBuilder.append(testURL);
URL url = new URL(urlBuilder.toString());
BufferedReader bf;
/**
* URL로 서버통신을 하여 데이터를 bf에 담음
*/
bf = new BufferedReader(new InputStreamReader(url.openStream()));
/**
* bf에 Line이 null이 될때까지 읽어
* result에 concat해줌.
*/
while((line = bf.readLine())!=null) {
result = result.concat(line);
}
//데이터 타입 출력
System.out.println(result.getClass().getSimpleName());
//데이터 출력
System.out.println(result);
}
}
결과화면
728x90
반응형
'JAVA' 카테고리의 다른 글
[JAVA] 자바(java)에서 변수의 데이터타입을 확인하는 방법 ( getClass().getName() ) (0) | 2022.09.11 |
---|---|
[JAVA] XML 데이터를 String으로 변환하는 방법 / XML to String (0) | 2022.09.11 |
[JAVA] 자바 List객체에 add할 때, 전부 마지막 값으로 add 되는 현상 해결방법 (1) | 2022.09.11 |
[JAVA] 자바에서 폴더 및 파일 생성시 접근권한 설정 해주는 방법 ( Runtime.getRuntime() ) (0) | 2022.07.19 |
[JAVA] 자바에서 서버통신을 통해 공공데이터포털에서 데이터를 가져오는 방법 (1) :: ( GET방식, HttpURLConnection ) (0) | 2022.07.12 |