<pension pension_home=http://m/rothem/ pension_img="/data/pension/mobile/rothem.gif" sido="강원" gugun="양양군" tel="070-7721-1785" hp="010-9046-1785" homepage="rothemtreepension.com" searchword="양양, 설악산, 대청봉, 오색약수, 오색온천, 주전골, 오색, 낙산해수욕장, 하조대 해수욕장, 남애항, 바닷가, 가족, 단체, 워크샵, 독채, 이색, 산과계곡, 알뜰, 인터넷" map_x="128.4535684" map_y="38.0760453" pension_name="로뎀나무아래" hit="2358">로뎀나무아래</pension>

 

이런식의 데이터가 200개 정도 있습니다.

 

protected void onCreate(Bundle savedInstanceState) {
  // TODO Auto-generated method stub
  super.onCreate(savedInstanceState);
  setContentView(R.layout.local);
  
  Intent intent = getIntent();
  String local = intent.getExtras().getString("local").toString();

  ArrayList<Pension> m_pension = new ArrayList<Pension>();

  PensionAdapter m_adapter = new PensionAdapter(this, R.layout.row, m_pension);

  setListAdapter(m_adapter);

  try
  {   
   URL text = new URL("http://parser.php");

   XmlPullParserFactory factory = XmlPullParserFactory.newInstance();
   XmlPullParser parser = factory.newPullParser();

   parser.setInput(text.openStream(), "UTF-8");

   String sName="";
   String uri = "";
   
   boolean initem = false;

   while (parser.getEventType() != XmlPullParser.END_DOCUMENT) {
    switch(parser.getEventType()){
    case XmlPullParser.START_DOCUMENT:
     break;
    case XmlPullParser.END_DOCUMENT:
     break;
    case XmlPullParser.TEXT:
      if(initem){
      sName = parser.getText();
      initem = false;
     }
     break;
    case XmlPullParser.START_TAG:
     if(parser.getName().equals("pension")){
      
      if(parser.getAttributeValue(3).equals(local) || parser.getAttributeValue(7).equals(local)){

      uri = "http://pension.kr/" + parser.getAttributeValue(1);
      Pension p1 = new Pension(uri, sName, parser.getAttributeValue(2), parser.getAttributeValue(3));
      m_pension.add(p1);
      initem = true;
      }
     }
     break;
    }
    parser.next();
   }
  }
  catch(Throwable t) {
   Toast.makeText(this, "실패: " + t.toString(), Toast.LENGTH_LONG).show();
  }
 }

 

 

소스 전문입니다.

실행하면 데이터가 쭈욱 나오기는 하는데

꼭 첫번째 뜨는것만 펜션이름을 못가져오네요..

왜그런지 모르겠습니다.

그리고 실행할때마다 순서가 랜덤으로 나오던데

고정으로 할수도 있나요?