vo와 jsp는 동일(이전 글)/서블릿도 메서드명만 달리하면 됨, html도 액션 서블릿 경로만 바꿔주기
유틸 메서드
public static List<KakaoLocalVo> searchXml(String query, String y, String x, int page, int size, int radius){
List<KakaoLocalVo> list = new ArrayList<KakaoLocalVo>();
try {
// query Encoding
query = URLEncoder.encode(query,"utf-8");
String str_url = String.format("https://dapi.kakao.com/v2/local/search/keyword.xml?query=%s&y=%s&x=%s&page=%d&size=%d&radius=%d",
query,y,x,page,size,radius);
String KAKAO_APIKEY = MyOpenAPIKey.Kakao.API_Key;
URL url = new URL(str_url);
HttpURLConnection urlConn = (HttpURLConnection) url.openConnection();
urlConn.setRequestProperty("Authorization", KAKAO_APIKEY);
urlConn.setRequestProperty("Content-Type", "application/xml");
urlConn.connect();
// xml parsing
SAXBuilder builder = new SAXBuilder();
Document doc = builder.build(urlConn.getInputStream());
Element root = doc.getRootElement();
List<Element> documents_list = (List<Element>)root.getChildren("documents");
for(Element item : documents_list) {
String place_name = item.getChildText("place_name");
String place_url = item.getChildText("place_url");
String address_name = item.getChildText("address_name");
String road_address_name = item.getChildText("road_address_name");
String phone = item.getChildText("phone");
String xx = item.getChildText("x");
String yy = item.getChildText("y");
int distance = 0;
try {
distance = Integer.parseInt(item.getChildText("distance"));
} catch (Exception e) {
// TODO: handle exception
}
KakaoLocalVo vo = new KakaoLocalVo();
vo.setPlace_name(place_name);
vo.setPlace_url(place_url);
vo.setAddress_name(address_name);
vo.setRoad_address_name(road_address_name);
vo.setPhone(phone);
vo.setX(xx);
vo.setY(yy);
vo.setDistance(distance);
list.add(vo);
}
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return list;
}
'xml' 카테고리의 다른 글
xml - 네이버API활용 예제(책) (0) | 2024.07.08 |
---|---|
xml -네이버API활용 예제(쇼핑) (0) | 2024.07.08 |
네이버 API 어플리케이션 등록/postman download (0) | 2024.07.08 |
xml - 파싱 (0) | 2024.07.08 |
xmlTest/jdom 설치 환경 (0) | 2024.07.08 |