안드로이드에서는 세 가지의 xml파싱이 존재한다. DOM, SAX, XmlPullParser가 존재하는데 각각 장단점이 있어서 목적에 따라
적절한 파서를 사용하면 된다.
여기에서는 XmlPullParser의 사용법을 알아보는데, 객체생성부터 호출까지 사용법이 간단하다.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 | 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(); } |