마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

xml파싱할때 문제생겨서 질문드립니다...

0 추천
<?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

이런식으로 개행되서 읽어오네요..아무리봐도 개행에 대한게 없는것같은데...어디서 문제일까요 ㅠㅠ

제가 만들고있는 어플에선 이게 되게 중요해서...

항상감사드립니다

김원장91 (1,470 포인트) 님이 2015년 8월 30일 질문

답변 달기

· 글에 소스 코드 보기 좋게 넣는 법
· 질문에 대해 추가적인 질문이나 의견이 있으면 답변이 아니라 댓글로 달아주시기 바랍니다.
표시할 이름 (옵션):
개인정보: 당신의 이메일은 이 알림을 보내는데만 사용됩니다.
스팸 차단 검사:
스팸 검사를 다시 받지 않으려면 로그인하거나 혹은 가입 하세요.
...