package com.banking.xc.utils.xml.vacation; import java.io.InputStream; import java.util.ArrayList; import org.xml.sax.Attributes; import org.xml.sax.SAXException; import android.text.TextUtils; import com.banking.xc.entity.VacationBaseInfo; import com.banking.xc.utils.xml.frame.XmlParseHandler; import com.banking.xc.utils.xml.frame.XmlParseListener; public class VacationPackageListResponseXmlParseHandler extends XmlParseHandler{ ArrayList<VacationBaseInfo> vacationBaseInfoList; VacationBaseInfo vacationBaseInfo; String preTag; public VacationPackageListResponseXmlParseHandler(XmlParseListener xmlParseListener, InputStream inputStream) { super(xmlParseListener, inputStream); } @Override public void cancelParse() { } @Override public void destroy() { vacationBaseInfoList = null; } @Override public Object getObjectWhenEnd() { return vacationBaseInfoList; } @Override public void startElement(String uri, String localName, String qName, Attributes attributes) throws SAXException { super.startElement(uri, localName, qName, attributes); if(TextUtils.equals(localName, "VacationList")){ vacationBaseInfoList = new ArrayList<VacationBaseInfo>(); } if(TextUtils.equals(localName, "VacationBaseInfo")){ vacationBaseInfo = new VacationBaseInfo(); } preTag = localName; } @Override public void endElement(String uri, String localName, String qName) throws SAXException { super.endElement(uri, localName, qName); if(TextUtils.equals(localName, "VacationList")){ } if(TextUtils.equals(localName, "VacationBaseInfo")){ vacationBaseInfoList.add(vacationBaseInfo); vacationBaseInfo = null; } } @Override public void characters(char[] ch, int start, int length) throws SAXException { // TODO Auto-generated method stub super.characters(ch, start, length); String data = new String(ch,start,length); if(TextUtils.equals("Pkg", preTag)){ vacationBaseInfo.setPkg(data); return; } if(TextUtils.equals("PkgName", preTag)){ vacationBaseInfo.setPkgName(data); return; } if(TextUtils.equals("PkgTourGrade", preTag)){ vacationBaseInfo.setPkgTourGrade(data); return; } if(TextUtils.equals("PriceDownTag", preTag)){ vacationBaseInfo.setPriceDownTag(data); return; } if(TextUtils.equals("IsAffirmTour", preTag)){ vacationBaseInfo.setIsAffirmTour(data); return; } if(TextUtils.equals("TableType", preTag)){ vacationBaseInfo.setTableType(data); return; } if(TextUtils.equals("Attraction", preTag)){ vacationBaseInfo.setAttraction(data); return; } if(TextUtils.equals("MinPrice", preTag)){ vacationBaseInfo.setMinPrice(data); return; } if(TextUtils.equals("SetOffDays", preTag)){ vacationBaseInfo.setSetOffDays(data); return; } if(TextUtils.equals("TypeDesc", preTag)){ vacationBaseInfo.setTypeDesc(data); return; } if(TextUtils.equals("StartCity", preTag)){ vacationBaseInfo.setStartCity(data); return; }if(TextUtils.equals("DestCity", preTag)){ vacationBaseInfo.setDestCity(data); return; } if(TextUtils.equals("PkgURL", preTag)){ vacationBaseInfo.setPkgURL(data); return; } if(TextUtils.equals("CharacteristicDesc", preTag)){ vacationBaseInfo.setCharacteristicDesc(data); return; } /*if(TextUtils.equals("SeasonNotice", preTag)){ vacationBaseInfo.setSeasonNotice(data); return; }*/ if(TextUtils.equals("ListPrice", preTag)){ vacationBaseInfo.setListPrice(data); return; } if(TextUtils.equals("MaxDays", preTag)){ vacationBaseInfo.setMaxDays(data); return; } if(TextUtils.equals("MinDays", preTag)){ vacationBaseInfo.setMinDays(data); return; } if(TextUtils.equals("MaxDays", preTag)){ vacationBaseInfo.setMaxDays(data); return; } if(TextUtils.equals("MaxEMoney", preTag)){ vacationBaseInfo.setMaxEMoney(data); return; } if(TextUtils.equals("MinPersons", preTag)){ vacationBaseInfo.setMinPerson(data); return; } if(TextUtils.equals("Img", preTag)){ vacationBaseInfo.setImg(data); return; } if(TextUtils.equals("Festival", preTag)){ vacationBaseInfo.setFestival(data); return; } if(TextUtils.equals("Attrib1", preTag)){ vacationBaseInfo.setAttrib1(data); return; } if(TextUtils.equals("District", preTag)){ vacationBaseInfo.setDistrict(data); return; } if(TextUtils.equals("Star", preTag)){ vacationBaseInfo.setStar(data); return; } } /** * <VacationListResponse><VacationList><VacationBaseInfo> * <Pkg>88031</Pkg> * <PkgName>金牌导游·三亚蜈支洲岛5日豪华半自助游(赠专车送机、4人立减300)</PkgName> * <PkgTourGrade>8</PkgTourGrade> * <PriceDownTag /><IsAffirmTour>F</IsAffirmTour><TableType>GroupTravel</TableType> * <Attraction>★ 后2晚精选豪华酒店:<A href="http://hotels.ctrip.com/hotel/345082.html#ctm_ref=hd_0_0_0_0_lst_sr_1_df_ls_1_n_hi_0_0_0" target=_blank>三亚文华东方酒店</A>(评分4.7)、<A href="http://hotels.ctrip.com/hotel/345522.html#ctm_ref=hd_sr_lst_hi_n_a_1_1_df" target=_blank>天域度假酒店</A>(评分4.6)、<A href="http://hotels.ctrip.com/hotel/345071.html#ctm_ref=hd_0_0_0_0_lst_sr_1_df_ls_1_n_hi_0_0_0" target=_blank>金茂三亚希尔顿大酒店</A>(评分4.6)等,低至5折!<A href="http://pages.ctrip.com/tour/ingroupline_pages.asp?folder=ingroup1211&file=98 " target=_blank>半自助产品说明书</A>,助您快速选择最合适行程!</Attraction> <MinPrice>5510</MinPrice><SetOffDays>04/13、04/27</SetOffDays><TypeDesc>国内半自助</TypeDesc><StartCity>2</StartCity> <DestCity>43</DestCity><PkgURL>http://u.ctrip.com/union/CtripRedirect.aspx?TypeID=80&AllianceID=5208&SID=123887&VacationID=p88031s2&ouid=</PkgURL> <CharacteristicDesc>精选五星豪华酒店2晚,限量抢购,最低相当于现付价5折!</CharacteristicDesc><SeasonNotice /> <PkgCharacteristic /><ListPrice>2708.0000</ListPrice><MaxDays>5</MaxDays><MinDays>5</MinDays> <MaxEMoney>0</MaxEMoney><MinPersons>0</MinPersons><Img>http://pkgpic.c-ctrip.com/images2/1/61/61_512_s28879.JPG</Img> <Festival>劳动节、</Festival><Attrib1>0</Attrib1><DistrictInfo><PackageDistrictInfo><District>61</District><Pkg>88031</Pkg> <Star>0</Star></PackageDistrictInfo></DistrictInfo></VacationBaseInfo> */ }