<?xml version='1.0' encoding='UTF-8' ?>
<item>
<title>갑을병정</title>
<writer>aaa</writer>
</item>
<item>
<title>가나다라</title>
<writer>bbb</writer>
</item>
<item>
<title>ABCD</title>
<writer>ccc</writer>
</item>
public void setboard(String server_url) {
String tagName = "", title = "", writer = "";
try {
// uri에 저장된 사이트에 접속
URL newsURL = new URL(server_url); // xml데이터를 읽어서 inpuitstream에 저장
InputStream in = newsURL.openStream();
// XmlPullParser를 사용하기 위해서
XmlPullParserFactory factory = XmlPullParserFactory.newInstance();
// 네임스페이스 사용여부
factory.setNamespaceAware(false);
// xml문서를 이벤트를 이용해서 데이터를 추출해주는 객체
XmlPullParser xpp = factory.newPullParser();
// XmlPullParser xml데이터를 저장
xpp.setInput(in, "UTF-8");
// 이벤트 저장할 변수선언
int eventType = xpp.getEventType();
boolean isItemTag = false; // <item> .영역에 인지 여부 체크
// xml의 데이터의 끝까지 돌면서 원하는 데이터를 얻어옴
while (eventType != XmlPullParser.END_DOCUMENT) {
if (eventType == XmlPullParser.START_TAG) { // 시작 태그를 만났을때.
// //태그명을 저장
tagName = xpp.getName();
if (tagName.equals("item"))
isItemTag = true;
} else if (eventType == XmlPullParser.TEXT) { // 내용
// tagName에 저장된 태그명 title태그일때 제목을 저장
if (isItemTag && tagName.equals("title")) {
title += xpp.getText().toString();
}
if (isItemTag && tagName.equals("writer")) {
writer += xpp.getText().toString();
}
} else if (eventType == XmlPullParser.END_TAG) { // 닫는 태그를 만났을때
// 태그명을 저장
tagName = xpp.getName();
if (tagName.equals("item")) {
str += title;
str += writer;
isItemTag = false; // 초기화
title = "";
writer = "";
}
}
eventType = xpp.next(); // 다음 이벤트 타입
}
} catch (Exception e) {
Log.e("NewsApp", "예외발생 :" + e.getMessage());
}
}
str 이라는 비어있던 문자열에다가 저 xml에서 쫙 긁어온 정보들을 붙여넣었는데요..
제 예상으론 갑을병정aaa가나다라bbbABCDccc 이렇게 나올거라고 예상햇는데...
갑을병정
aaa
가나다라
bbb
ABCD
ccc
이런식으로 개행되서 읽어오네요..아무리봐도 개행에 대한게 없는것같은데...어디서 문제일까요 ㅠㅠ
제가 만들고있는 어플에선 이게 되게 중요해서...
항상감사드립니다