package com.banking.xc.utils.xml.flight;
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.CityInfoEntity;
import com.banking.xc.entity.CityInfosResponse;
import com.banking.xc.entity.CraftInfoEntity;
import com.banking.xc.entity.CraftInfosResponse;
import com.banking.xc.utils.xml.frame.XmlParseHandler;
import com.banking.xc.utils.xml.frame.XmlParseListener;
public class FlightCityInfoResponseXmlParseHandler extends XmlParseHandler{
private ArrayList<CityInfoEntity> cityInfoEntityList;
private CityInfoEntity cityInfoEntity;
private String preTag;
public FlightCityInfoResponseXmlParseHandler(XmlParseListener xmlParseListener, InputStream inputStream) {
super(xmlParseListener, inputStream);
}
@Override
public void cancelParse() {
}
@Override
public void destroy() {
cityInfoEntityList = null;
}
@Override
public Object getObjectWhenEnd() {
return cityInfoEntityList;
}
@Override
public void startElement(String uri, String localName, String qName, Attributes attributes) throws SAXException {
super.startElement(uri, localName, qName, attributes);
if(TextUtils.equals("CityDetails", localName)){
cityInfoEntityList = new ArrayList<CityInfoEntity>();
}
if(TextUtils.equals("CityDetail", localName)){
cityInfoEntity = new CityInfoEntity();
}
preTag = localName;
}
@Override
public void endElement(String uri, String localName, String qName) throws SAXException {
super.endElement(uri, localName, qName);
if(TextUtils.equals("CityDetail", localName)){
cityInfoEntityList.add(cityInfoEntity);
cityInfoEntity = null;
}
}
@Override
public void characters(char[] ch, int start, int length) throws SAXException {
super.characters(ch, start, length);
final String data = new String(ch, start, length);
if(TextUtils.equals(preTag, "CityCode")){
cityInfoEntity.setCityCode(data);
return;
}
if(TextUtils.equals(preTag, "City")){
cityInfoEntity.setCityId(data);
return;
}
if(TextUtils.equals(preTag, "CityName")){
cityInfoEntity.setCityName(data);
return;
}
if(TextUtils.equals(preTag, "Airport")){
cityInfoEntity.setAirPort(data);
return;
}
/*if(TextUtils.equals(preTag, "CityName_En")){
cityInfoEntity.setCityNameEn(data);
return;
}
if(TextUtils.equals(preTag, "ProvinceId")){
cityInfoEntity.setProvinceId(data);
return;
}
if(TextUtils.equals(preTag, "CountryId")){
cityInfoEntity.setCountryId(data);
return;
}
if(TextUtils.equals(preTag, "CountryCNName")){
cityInfoEntity.setCountryCNName(data);
return;
}
if(TextUtils.equals(preTag, "IsDCity")){
cityInfoEntity.setIsDCity(data);
return;
}
if(TextUtils.equals(preTag, "IsACity")){
cityInfoEntity.setIsACity(data);
return;
}
if(TextUtils.equals(preTag, "IsDCity")){
cityInfoEntity.setIsTCity(data);
return;
}
if(TextUtils.equals(preTag, "IsDomesticCity")){
cityInfoEntity.setIsDomesticCity(data);
return;
}*/
}
/**
*
-<CityDetails> -<CityDetail>
<CityCode>BJS</CityCode>
<City>1</City>
<CityName>北京</CityName>
<CityEName>Beijing</CityEName>
<Country>1</Country>
<Province>1</Province>
<Airport>NAY,PEK</Airport>
</CityDetail>
*/
}