XML 파싱 하여서 커스텀 리스트뷰를 만들고 있는데요
<story_content>
<content_num></content_num>
<country></country>
<city></city>
<which_in></which_in>
<nick_name></nick_name>
<content></content>
<vote></vote>
<count></count>
</story_content>
위와 같은 XML 을 파싱 하고 있는데 리스트뷰는 정상으로 작동 하는데 내용이 하나도 없이 리스트만 나오고 있습니다.
혹시 파싱엣 문제가 있는것일까요?
첫질문이고 공지사항은 읽었습니다.
public class XMLParser {
private String TAG = "Parser";
ArrayList connectCustom_data() {
InputStream is = null;
try {
String url = "http://192.11.11.11/list.xml";
URL targetURL = new URL("url);
is = targetURL.openStream();
//Parser
XmlPullParserFactory factory = XmlPullParserFactory.newInstance();
XmlPullParser parser = factory.newPullParser();
parser.setInput(is, "UTF-8");
return parseCustom_data(parser);
} catch (MalformedURLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (XmlPullParserException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} finally {
try {
is.close(); .
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
return null;
}
ArrayList<Custom_data> parseCustom_data(XmlPullParser parser) throws XmlPullParserException, IOException {
ArrayList<Custom_data> parseCustom_data = new ArrayList<Custom_data>();
String tag;
Custom_data wf = null;
int parserEvent = parser.getEventType();
while(parserEvent != XmlPullParser.END_DOCUMENT) {
switch(parserEvent) {
case XmlPullParser.END_TAG:
tag = parser.getName();
if(tag.compareTo("story_content") == 0) .
parseCustom_data.add(wf);
}
break;
case XmlPullParser.START_TAG:
tag = parser.getName();
if(tag.equals("story_content")) {
wf = new Custom_data();
}
else if(tag.equals("country")) {
wf.country = parser.getText();
} else if(wf != null && tag.compareTo("city") == 0) {
wf.city = parser.getText();;
} else if(wf != null && tag.compareTo("which_in") == 0) {
wf.whichin = parser.getText();;
} else if(wf != null && tag.compareTo("nick_name") == 0) {
wf.nick = parser.getText();
} else if(wf != null && tag.compareTo("content") == 0) {
wf.content = parser.getText();
} else if(wf != null && tag.compareTo("vote") == 0) {
wf.vote = parser.getText();
} else if(wf != null && tag.compareTo("count") == 0) {
wf.count = parser.getText();
}
break;
}
parserEvent = parser.next();
}
return parseCustom_data;
}
}
디버그로 찍어보면서 데이터가 제대로 들어가는지 확인해보는게 시간이 적게 걸릴것 같다고 생각합니다.