제가 assets폴더에 전국자전거보관소xml를 넣어놔 xml파일을 읽어오고 있습니다.
제가 궁금한 것은 edittext에서 교대라는 특정 키워라고치면 xml파일에 있는 교대에 관한 정보만을 가져오고 싶습니다.(xml파일에서는 교대역8번출구앞으로 되어있는데 풀네임으로 안쓰고 교대라고만 쓰면 해당정보를 가져오고 싶습니다.)
현재 아래 그림 코드처럼 전국에 있는 보관소이름만을 가져오고 있습니다.
버튼을 만들어 위에서 질문한 것처럼 할 수 있을까요 ??
MainActivity.java
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
TextView tv=(TextView)findViewById(R.id.data);
String file="dj.xml";
String result="";
try {
InputStream is=getAssets().open(file);
int size=is.available();
byte[] buffer=new byte[size];
is.read(buffer);
is.close();
result=new String(buffer,"UTF-8");
XmlPullParserFactory factory=XmlPullParserFactory.newInstance();
factory.setNamespaceAware(true); //xml 네임스페이스 지원 여부 설정
XmlPullParser xpp=factory.newPullParser();
xpp.setInput(new StringReader(result));
int eventType=xpp.getEventType();
/*
* eventType
* 1.START_TAG
* 2.END_TAG
* 3.TEXT
* etc
* */
boolean bSet=false;
while(eventType!=XmlPullParser.END_DOCUMENT){
if(eventType== XmlPullParser.START_TAG){
String tag_name = xpp.getName();
if(tag_name.equals("자전거보관소명") |tag_name.equals("위도"))
bSet=true;
}else if(eventType==XmlPullParser.TEXT){
if(bSet){
String data=xpp.getText();
tv.append(data+"\n");
bSet=false;
}
}else if(eventType==XmlPullParser.END_TAG);
eventType=xpp.next();
}
} catch (Exception e) {
e.printStackTrace();
}
}
}