안드로이드에서는 세 가지의 xml파싱이 존재한다. DOM, SAX, XmlPullParser가 존재하는데 각각 장단점이 있어서 목적에 따라
적절한 파서를 사용하면 된다.
여기에서는 XmlPullParser의 사용법을 알아보는데, 객체생성부터 호출까지 사용법이 간단하다.
XmlPullParserFactory parserCreator = XmlPullParserFactory.newInstance();
XmlPullParser parser = parserCreator.newPullParser();
parser.setInput(new URL(url).openStream(), null);
int parserEvent = parser.getEventType();
try{
/* xml태그가 끝날때 까지 탐색하면서 원하는 태그와 같으면
* 태그의 값을 불러와서 배열에 저장하는 원리를 갖고 있다.
*/
while((parserEvent = parser.next()) != XmlPullParser.END_DOCUMENT){
if(parserEvent==XmlPullParser.START_TAG){
String tag = parser.getName();
if(tag.contains("uIid")){
parserEvent = parser.next();
if(parserEvent==XmlPullParser.TEXT){
String text = parser.getText().substring("http://img.qrobo.com/Image/image.php?kind=l&image_id= ".length());
imgvc.add(text);
}
}
if(tag.contains("title")){
parserEvent = parser.next();
if(parserEvent==XmlPullParser.TEXT){
String text = parser.getText();
titlevc.add(text);
}
}
if(tag.contains("url")){
parserEvent = parser.next();
if(parserEvent==XmlPullParser.TEXT){
String text = parser.getText();
urlvc.add(text);
}
}
}
}
}catch(Exception e){
imgvc.clear();
titlevc.clear();
urlvc.clear();
}