안드로이드 개발 질문/답변
(글 수 45,052)
package com.ssu.ykj.booksearch;
import java.io.UnsupportedEncodingException; import java.net.URL; import java.net.URLEncoder; import java.util.ArrayList;
import org.xmlpull.v1.XmlPullParser; import org.xmlpull.v1.XmlPullParserFactory;
import android.util.Log;
public class BookParser { private String key1; ArrayList<BookData> data; BookParser(String key){ this.key1=key; } public ArrayList<BookData> getBookData(final String info,final int count,final int start){ data=new ArrayList<BookData>(); BookData item=null; String m_searchinfo=""; try{ m_searchinfo=URLEncoder.encode(info, "UTF8"); // 검색정보 인코딩 } catch(UnsupportedEncodingException e1){ e1.printStackTrace(); } try{ URL text= new URL(" "http://oasis.ssu.ac.kr/dlsearch/portal_api/openurl.asp?kind=total&searchmethod=kwrd&query=검색어");
XmlPullParserFactory parserCreator = XmlPullParserFactory.newInstance(); XmlPullParser parser=parserCreator.newPullParser(); parser.setInput(text.openStream(),null); Log.i("NET", "Parsing..."); // 읽어온 정보를 파싱하여 데이터를 만든다. int parseEvent = parser.getEventType(); while(parseEvent != XmlPullParser.END_DOCUMENT){ switch(parseEvent){ case XmlPullParser.START_TAG: String tag=parser.getName(); if(tag.compareTo("title")==0) { item=new BookData(); String titlesrc="parser.nextText(); item.title=titlesrc; Log.i("NET","START..."); } if(tag.compareTo("iframe src")==0) { String imagesrc="parser.nextText(); item.image=imagesrc; } if(tag.compareTo("id='Location1_2'")==0) { String pricesrc="parser.nextText(); item.lprice=pricesrc; } if(tag.compareTo("id='Location1_3'")==0) { String mallsrc="parser.nextText(); item.mallname=mallsrc; data.add(item); } break; } parseEvent=parser.next(); // 다음 데이터로 넘어간다.. END_DOCUMENT일때까지.. } Log.i("NET","End..."); } catch(Exception e) { Log.i("NET","Parsing fail"); } return data; } }
독학으로 안드로이드 공부중입니다.
도서관 도서검색 앱을 만들고 있습니다.
위코드는 XML파싱을 하고 있는데요 이걸 HTML파싱으로 바꾸고 싶습니다
파싱할 부분은 아래의
'중앙도서관 3층자연과학실' ,
'005.7126 이 7729안드',
'예약서가비치' 입니다