개발공작소
article thumbnail
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
반응형
profile

개발공작소

@모찌바라기

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!