이 오류가 왜 나는지 궁금합니다..

http://openAPI.seoul.go.kr:8088/xml/4150495f323037376c656a65776b/

%EB%B3%B4%EA%B4%80+%EB%B6%84%EC%8B%A4%EB%AC%BC+%EB%AA%A9%EB%A1%9D+%EC%A1%B0%ED%9A%8C/

11/20/t2


위 주소로 요청할때 저런 예외가 뜹니다.

근데 웃긴건

http://openAPI.seoul.go.kr:8088/xml/4150495f323037376c656a65776b/

%EB%B3%B4%EA%B4%80+%EB%B6%84%EC%8B%A4%EB%AC%BC+%EB%AA%A9%EB%A1%9D+%EC%A1%B0%ED%9A%8C/

1/10/t2


이렇게 요청하면 정상적으로 요청이 된다는겁니다....


무슨문제로 이런 예외가 뜨는거죠?

 

xml 파싱클래스는 이겁니다.

--------------------------------------------------------



import java.net.URL;

import java.util.ArrayList;


import org.xmlpull.v1.XmlPullParser;

import org.xmlpull.v1.XmlPullParserFactory;


import android.os.Bundle;

import android.os.Handler;

import android.os.Looper;

import android.os.Message;

import android.util.Log;


public class MyXmlParser extends Thread {

ListDTO listDTO = null;

private String url;

private ArrayList<ListDTO> parsingList = null;

private ArrayList<ListDTO> myParsingList = null;

private Handler handler;

XmlPullParser xp = null;

public MyXmlParser(String url , Handler handler , ArrayList<ListDTO> content) {

// TODO Auto-generated constructor stub

this.url = url;

this.handler = handler;

parsingList = content;

}

public MyXmlParser(String url , Handler handler) {

// TODO Auto-generated constructor stub

this.url = url;

this.handler = handler;

myParsingList = new ArrayList<ListDTO>();

}

@Override

public void run() {

// TODO Auto-generated method stub

super.run();

// Looper.prepare();

String tag = null;

String value = null;

try {

Log.d("lejewk","요청 URL : "+url);

URL url = new URL("this.url); //경로 지정

xp = XmlPullParserFactory.newInstance().newPullParser(); //파싱

xp.setInput(url.openStream() ,"UTF-8"); //스트림으로 읽어오기


int parserEvent = xp.getEventType(); //읽을타입 결정

Log.d("lejewk","읽을 타입 결정 : "+parserEvent);

while(parserEvent != XmlPullParser.END_DOCUMENT){

switch(parserEvent){

case XmlPullParser.START_TAG:

tag = xp.getName();

//태그가 아이템일경우

if(tag.matches(".*row*.")){

listDTO = new ListDTO();

}

break;


case XmlPullParser.END_TAG:

tag = xp.getName();

if(tag.matches(".*row*.")){

// parsingList.add(listDTO);

myParsingList.add(listDTO);

}

tag = null;

break;


case XmlPullParser.TEXT:

if(tag == null) break;

Log.d("lejewk","tag : "+tag);

if(tag.equals("ID")){

listDTO.setIdx(xp.getText());

}else if(tag.equals("GET_DATE")){

listDTO.setGet_date(xp.getText());

}else if(tag.equals("GET_NAME")){

listDTO.setGet_name(xp.getText());

}else if(tag.equals("TAKE_PLACE")){

listDTO.setTake_place(xp.getText());

}

break;

}

parserEvent = xp.next(); //다음 행 읽어오기

}


//파싱완료후 핸들러전송

Message message = handler.obtainMessage();

Bundle bundle = new Bundle();

bundle.putString("result", "success");

message.setData(bundle);

handler.sendMessage(message);

} catch (Exception e) { // 파싱해온거 없으면 이거 일어나는거 가튼디 ㄴㄴ 난 파싱에러 그딴거엄슴..  근ㅁ ㅐ감버ㅗㄴ이ㅑ 까나 

// TODO Auto-generated catch block

e.printStackTrace();

Message message = handler.obtainMessage();

Bundle bundle = new Bundle();

bundle.putString("result", "fail");

message.setData(bundle);

handler.sendMessage(message);

}

// Looper.loop();

}

public ArrayList<ListDTO> getParsingArrayList(){

return myParsingList;

}

}