안녕하세요 기상철 날씨를 파싱하는 프로그램 예제를 인터넷에 있는 걸 보고 실행 해보고
제가 원하는 지역만 잘라서 출력을 해보려고 하는데요.
예를 들어 아래 그림처럼 xml 파일에서 밑줄친 부분만 출력 시키려면 
소스코드를 어디를 손대야 할까요 ?
지금 까지 찾아 본 결과로는 indexOf, trim등을 사용하면 된다고 하는데,
제가 생각한 부분에서 입력해서 사용해 보니 에러가 나는군요~
밑에는 예제 소스파일 입니다.

package yis.PullParser;
//Made By Rint Ian Tta
import java.net.URL;

public class PullParserActivity extends ListActivity {
ImageView conditionImage;
TextView regionTextView;
TextView conditionTextView;
ArrayList<Weather> weather = new ArrayList<Weather>();
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
///////////////////////////////////////////////////
try {
//URL 세ting..!
URL url = new URL("http://www.kma.go.kr/XML/weather/sfc_web_map.xml);
//사전준비//
XmlPullParserFactory parserFactory = XmlPullParserFactory.newInstance();
XmlPullParser parser = parserFactory.newPullParser();
parser.setInput(url.openStream(), "utf-8");
/////////////////////////////////////////////////////////////////////////
int parserEvent = parser.getEventType(); 
String tag="ready..!";
String stnid="";
String desc="";
String ta="";
String region="";
//int i=0;
while(parserEvent != XmlPullParser.END_DOCUMENT){

switch(parserEvent){
case XmlPullParser.START_DOCUMENT:
Log.d("parserTest", "Parser Start..!");
break;
case XmlPullParser.START_TAG:
tag = parser.getName();
if(tag.equals("local")){
stnid = parser.getAttributeValue(null, "stn_id");
desc = parser.getAttributeValue(null, "desc");
ta = parser.getAttributeValue(null, "ta");
}
break;
case XmlPullParser.TEXT:
if(tag.equals("local")){
region = parser.getText();
}
break;

case XmlPullParser.END_TAG:
if(tag.equals("local")){
Weather imsi = new Weather(region,desc,ta,stnid);
weather.add(imsi);
}
tag = "nothing";
break;
}
parserEvent = parser.next();
}

catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
Log.d("parserTest","error");
}
Log.d("parserTest", weather.get(2).stnid);
Log.d("parserTest", weather.get(3).stnid);
Log.d("parserTest", weather.get(4).stnid);
setListAdapter(new CustomRow(this));
}

class CustomRow extends ArrayAdapter<Weather>{
Activity context;
public CustomRow(Activity c) {
super(c,R.layout.customcell,weather);
this.context = c;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
LayoutInflater inf=context.getLayoutInflater();
View customcell=inf.inflate(R.layout.customcell, null);

conditionImage = (ImageView)customcell.findViewById(R.id.conditionImage);
regionTextView = (TextView)customcell.findViewById(R.id.TextView03);
conditionTextView = (TextView)customcell.findViewById(R.id.TextView05);

regionTextView.setText(weather.get(position).region);
conditionTextView.setText(weather.get(position).desc);

Drawable sunnyImage = getResources().getDrawable(R.drawable.sunny);
Drawable cloudImage = getResources().getDrawable(R.drawable.cloud);
Drawable rainImage = getResources().getDrawable(R.drawable.rain);

if(weather.get(position).desc.equals("맑음")){
conditionImage.setImageDrawable(sunnyImage);
} else  if(weather.get(position).desc.equals("비")){
conditionImage.setImageDrawable(rainImage);
} if(weather.get(position).desc.equals("구름조금")||weather.get(position).desc.equals("구름많음")){
conditionImage.setImageDrawable(cloudImage);
}

return customcell; 
}
}
}1.png