안드로이드 개발 질문/답변
(글 수 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안드',
'예약서가비치' 입니다



