package exam.Parser;

import java.net.MalformedURLException;
import java.net.URL;
import java.io.InputStream;
import org.xmlpull.v1.XmlPullParser;
import org.xmlpull.v1.XmlPullParserFactory;
import android.R;
import android.app.Activity;
import android.content.Context;
import android.net.Uri;
import android.os.Bundle;
import android.util.Log;
import android.widget.TextView;

public class Parser extends Activity {
 /** Called when the activity is first created. */
 @Override
 public void onCreate(Bundle savedInstanceState) {
  super.onCreate(savedInstanceState);
  setContentView(exam.Parser.R.layout.main);
  TextView textview = (TextView)findViewById(exam.Parser.R.id.TextView01);
  String stdid = null;
  String desc = null;
  String ta = null;
  String region = null;

  try {
   URL text = new URL(
     "http://www.kma.go.kr/XML/weather/sfc_web_map.xml");
   XmlPullParserFactory parserCreator = XmlPullParserFactory.newInstance();
   // ↑ 퍼서펙토리(공장이름만 만들었지 실질적인 공장은 없음)
   XmlPullParser parser = parserCreator.newPullParser();
   // ↑ Parser 생성.

   parser.setInput(text.openStream(), "utf-8");
   // ↑ 쉽게 생각해서 연결 모드.

   int ParserEvent = parser.getEventType();
   /*Start_Document,START_TAG, TEXT,END_TAG 는 숫자가 정해져 있다.
   ParserEvent 는 초기값이 0으로 시작해서 case 문에 조건에 있는 값에 따라 변한다.
   Ex) TEXT = 4  END_TAG = 3
    */
   String tag ="reday!";//tag 값에는 처음 에 ready 를 집어 넣음 (초기화)

   while (ParserEvent != XmlPullParser.END_DOCUMENT) {
    // ↑ XmlPullParser는 문서의 다음 사건을 돌려주는 메소드 (끝날떄까지 계속 돌아라)
    switch (ParserEvent) {
    case XmlPullParser.START_DOCUMENT:
     //Log.d("parserTest", "parser start..!");
     break;

    case XmlPullParser.START_TAG:
     tag = parser.getName(); //Xml 태그 안에 있는 값들을 tag에 저장함. ex)current,weather

     if (tag.equals("local")) { //local 을 기점으로 파싱 데이터 추출
      stdid = parser.getAttributeValue(null, "stn_id");
      desc = parser.getAttributeValue(null, "desc");
      ta = parser.getAttributeValue(null, "ta");

      //Log.d("parserTest", stdid + " : " + desc + " : " + ta + " :");
     }
     break;

    case XmlPullParser.TEXT:
     if(tag.equals("local")){
      region = parser.getText();
      //Log.d("parserTest", region);
      //if(region.equals("속초")){
       //Log.d("parserTest","ddddddddddddddddd");
      //}
     }
    case XmlPullParser.END_TAG :  //tag 값에 계속 lacal이 있으면 예외처리 나니까 태그가 끈나버리면 다른 스트링으로 변경
     tag = "nothing";
     break;
    }
    //Log.d("RESULT", region +","+ stdid+","+desc+","+ta);
    ParserEvent = parser.next(); //다음 한칸씩 이동.
    if(region == null)
    {
    
    }else{
     Log.d("rrrrrrrrrrrrrrrrr", region +"," + stdid +"," + desc +"," + ta +"\n");
     textview.setText(region + "," + stdid + "," + desc + "," + ta + "\n");            //출력부분!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
    }
    
    
    
   }
  }catch(Exception e){
   e.printStackTrace();
  }
 }
}


먼저 인사부터 드릴꼐요.

안녕하세요 안드로이드 공부를 시작한지 얼마 안된 학생입니다.

이것저것 부딛히며 Xml 파싱을 하긴 했는데요 출력을 모두 출력 하고 싶은데

결국 마지막 부분밖에 출력이 안되네요

파싱데이터 10개가 있다면 10개 다 정보를 보고 싶은데 결국 마지막 데이터인 값만 출력이 되는데

이걸 어떻게 해서 전부 출력을 시키는지 잘 이해가 되질 않습니다..

1.JPG