public class SearchParser {
private String key1;
ArrayList<DoroDTO> data;
SearchParser(String key){
this.key1=key;
}
public ArrayList<DoroDTO> getDoroData(final String info){
data = new ArrayList<DoroDTO>();
DoroDTO item = null;
String m_searchinfo="";
String xml = null;
HttpURLConnection conn = null;
try{
String apiurl = "http://openapi.epost.go.kr/postal/retrieveNewAdressService/retrieveNewAdressService/getNewAddressList?ServiceKey=";
apiurl += key1;
m_searchinfo = URLEncoder.encode(info, "EUC-KR");
m_searchinfo = URLDecoder.decode(info, "ISO-8859-1");
String srchwrd = URLEncoder.encode(m_searchinfo,"UTF-8");
apiurl += "&searchSe=dong&srchwrd="+srchwrd;
System.out.println(apiurl);
URL url = new URL(apiurl);
conn = (HttpURLConnection)url.openConnection();
conn.setRequestProperty("accept-language","ko");
conn.getInputStream();
InputStream is = null;
ByteArrayOutputStream baos = null;
if(conn.getResponseCode()==HttpURLConnection.HTTP_OK){
is = conn.getInputStream();
baos = new ByteArrayOutputStream();
byte[] byteBuffer = new byte[1024];
byte[] byteData = null;
int nLength = 0;
while((nLength = is.read(byteBuffer))>0){
baos.write(byteBuffer, 0, nLength);
}
byteData = baos.toByteArray();
xml = new String(byteData, "UTF-8");
System.out.println("xml===>>"+xml.toString());
}
DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
DocumentBuilder builder = factory.newDocumentBuilder();
InputStream iis = new ByteArrayInputStream(xml.getBytes());
Document doc = builder.parse(iis);
doc.getDocumentElement().normalize();
NodeList headline_node_list = doc.getElementsByTagName("newAddressList");
String zipNo = "", lnmAdres = "", rnAdres = "";
for(int i = 0; i<=headline_node_list.getLength(); i++){
Node headline_node = headline_node_list.item(i);
if(headline_node.getNodeType()==Node.ELEMENT_NODE)
{
Element element = (Element)headline_node;
NodeList node_list = element.getElementsByTagName("zipNo");
Node node = node_list.item(0);
zipNo = node.getTextContent();
System.out.println(zipNo);
// item.zipNo = zipNo;
}
if(headline_node.getNodeType()==Node.ELEMENT_NODE)
{
Element element = (Element) headline_node;
NodeList node_list = element.getElementsByTagName("lnmAdres");
Node node = node_list.item(0);
lnmAdres = node.getTextContent();
System.out.println(lnmAdres);
// item.lnmAdres = lnmAdres;
}
if(headline_node.getNodeType()==Node.ELEMENT_NODE)
{
Element element = (Element) headline_node;
NodeList node_list = element.getElementsByTagName("rnAdres");
Node node = node_list.item(0);
rnAdres = node.getTextContent();
System.out.println(rnAdres);
// item.rnAdres = rnAdres;
}
// System.out.println(item.toString());
// data.add(item);
}
}catch(Exception e){
Log.i("NET","Parsing fail");
}
return data;
}
}
우선 주석을 단 부분 (CustomAdapter(arrayAdapter))에 파싱한 스트링들을 추가하는 부분을 넣으면 아에 추가가 되지 않더군요.ㅠㅠ
파싱은 됨니다. System.print로 출력을 하니 원하는 값들이 출력이 되더군요
그런데 리스트뷰에 넣어야 되는데 왜 추가가 되지 않을까요? ㅠㅠ