안드로이드 개발 질문/답변
(글 수 45,052)
아래는 제가 홈페이지에서 안드로이드로 가져올 Xml입니다.
<root>
<word><No>6</No>
<Subject>광통신공학설계</Subject>
<Professor>오범환</Professor>
<Place>하232</Place>
<Ctime>1</Ctime>
<Day>Mon</Day>
<class>6</class>
<StNo>12070869</StNo>
</word>
<word>
<No>7</No>
<Subject>광통신공학설계</Subject>
<Professor>오범환</Professor>
<Place>하232</Place>
<Ctime>1</Ctime>
<Day>Mon</Day>
<class>7</class>
<StNo>12070869</StNo>
</word>
아래는 제가 현재 XmlPullparsing을 위해 간단하게 구성한 코드입니다.
//boolean initem = false;
boolean[] initem = new boolean[10];
String[] ItemName = new String[10];
try{
URL text = new URL("주소");
XmlPullParserFactory factory = XmlPullParserFactory.newInstance();
XmlPullParser parser = factory.newPullParser();
parser.setInput(text.openStream(),"euc-kr");
int eventType = parser.getEventType();
while(eventType != XmlPullParser.END_DOCUMENT){
switch(eventType){
case XmlPullParser.START_DOCUMENT:
break;
case XmlPullParser.END_DOCUMENT:
break;
case XmlPullParser.START_TAG:
if(parser.getName().equals("No")){
initem[0] = true;
}
else if(parser.getName().equals("Subject")){
initem[1] = true;
}
else if(parser.getName().equals("Professor")){
initem[2] = true;
}
else if(parser.getName().equals("Place")){
initem[3] = true;
}
case XmlPullParser.END_TAG:
break;
case XmlPullParser.TEXT:
if(initem[0]){
ItemName[0] = parser.getText();
initem[0] = false;
}
else if(initem[1]){
ItemName[1] = parser.getText();
initem[1] = false;
}
else if(initem[2]){
ItemName[2] = parser.getText();
initem[2] = false;
}
else if(initem[3]){
ItemName[3] = parser.getText();
initem[3] = false;
}
mResult.setText("No: " + ItemName[0] + "\nSubject: " + ItemName[1] + "\nProfessor: " + ItemName[2] + "\nPlace: " + ItemName[3]);
break;
}
eventType = parser.next();
}
제가 원하는 것은 아시다시피 저 위에 시간표 정보를 파싱해서 안드로이드 화면에 뿌려주길 원합니다.
그러나 위 코드로 컴파일시 실제 화면에 뜨는 것은 Xml의 모든 정보가 아니라
하나의 카테코리 <word></word> 사이에 있는 한 그룹의 정보만 표시됩니다.
즉 실제 결과화면은 아래와 같구요.
//
No : 7
Subject : 광통신공학설계
Professor : 오범환
Place : 하232
//
제가 원하는 결과화면은 아래와 같습니다.
//
No : 7
Subject : 광통신공학설계
Professor : 오범환
Place : 하232
No : 6
Subject : 광통신공학설계
Professor : 오범환
Place : 하232
//
제가 드는 의문점이 Xml 파일을 수정해야될지 Java 코드를 수정해야할지 갈피를 못잡고있습니다.
능력자분들이 간단한 조언라도 주시면 그것을 이용해 고치겠습니다.!!
꼭 알려주세요 부탁드립니다. ㅠ