마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

xml파싱 후 리스트뷰에 등록이 안됩니다.

0 추천

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로 출력을 하니 원하는 값들이 출력이 되더군요

그런데 리스트뷰에 넣어야 되는데 왜 추가가 되지 않을까요? ㅠㅠ

gksxoo (520 포인트) 님이 2014년 4월 11일 질문

답변 달기

· 글에 소스 코드 보기 좋게 넣는 법
· 질문에 대해 추가적인 질문이나 의견이 있으면 답변이 아니라 댓글로 달아주시기 바랍니다.
표시할 이름 (옵션):
개인정보: 당신의 이메일은 이 알림을 보내는데만 사용됩니다.
스팸 차단 검사:
스팸 검사를 다시 받지 않으려면 로그인하거나 혹은 가입 하세요.
...