적당히 타입 맞춰서 사용하면 됩니다.
-------------------------- data.java ------------------------------
public class Data {
String id;
String fname;
String aname;
String cname;
String x1, y1;
}
public class parsing {
public parsing(String url, ArrayList<Data> DataList){
try{
URL text=new URL(url);
XmlPullParserFactory factory = XmlPullParserFactory.newInstance();
factory.setNamespaceAware(true);
XmlPullParser parser=factory.newPullParser();
parser.setInput(text.openStream(), null);
int parserEvent = parser.getEventType();
String tag;
// -------------- 태그 부분 --------------------
boolean id = false, fName = false, aName = false, cName = false, x1=false, y1=false;
// --------------------------------------------
while (parserEvent != XmlPullParser.END_DOCUMENT) {
switch (parserEvent) {
case XmlPullParser.TEXT: // 데이터 저장
tag = parser.getName();
if (id){
DataList.add(new Data());
DataList.get(DataList.size()-1).id=parser.getText();
}else if (fName) {
DataList.get(DataList.size()-1).fname=parser.getText();
}else if (aName) {
DataList.get(DataList.size()-1).aname=parser.getText();
}else if (cName){
DataList.get(DataList.size()-1).cname=parser.getText();
}else if (x1){
DataList.get(DataList.size()-1).x1=parser.getText();
}else if (y1){
DataList.get(DataList.size()-1).y1=parser.getText();
}
break;
case XmlPullParser.END_TAG: // 태그 끝
tag = parser.getName();
if (tag.compareTo("POI_ID") == 0) {
id = false;
} else if (tag.compareTo("FNAME") == 0) {
fName = false;
} else if (tag.compareTo("ANAME") == 0) {
aName = false;
} else if (tag.compareTo("CNAME") == 0) {
cName = false;
} else if (tag.compareTo("CENTER_X1") == 0) {
x1 = false;
} else if (tag.compareTo("CENTER_Y1") == 0) {
y1 = false;
}
break;
case XmlPullParser.START_TAG: // 태그 시작
tag = parser.getName();
if (tag.compareTo("POI_ID") == 0) {
id = true;
} else if (tag.compareTo("FNAME") == 0) {
fName = true;
} else if (tag.compareTo("ANAME") == 0) {
aName = true;
} else if (tag.compareTo("CNAME") == 0) {
cName = true;
} else if (tag.compareTo("CENTER_X1") == 0) {
x1 = true;
} else if (tag.compareTo("CENTER_Y1") == 0) {
y1 = true;
}
break;
}
parserEvent = parser.next();
}
} catch (Exception e) {
Log.e("dd", "Error in network call", e);
}
}
}
'Computer Science > Android' 카테고리의 다른 글
[펌] 안드로이드 db 포함방법 (0) | 2012.07.13 |
---|---|
db 만들기 (0) | 2012.07.13 |
네이버 모바일맵 띄우기 (0) | 2012.07.13 |
서울시 open api 작은 팁!! (0) | 2012.07.09 |
이클립스 단축키 모음 (0) | 2012.05.22 |