public class AppWebSaxXml extends DefaultHandler {
private StringBuilder sb = new StringBuilder();
private AppWebEntity appEntity;
private List<AppWebEntity> appEntitys;
private String preTag;
@Override
public void startDocument() throws SAXException {
appEntitys = new ArrayList<AppWebEntity>();
}
@Override
public void characters(char[] ch, int start, int length)
throws SAXException {
//(2)不管在startElement到endElement的过程中,执行了多少次characters, 都会将内容添加到StringBuilder中,不会丢失内容
sb.append(ch, start, length);
}
@Override
public void startElement(String uri, String localName, String name,
Attributes attr) throws SAXException {
//(3) 开始收集新的标签的数据时,先清空历史数据
sb.setLength(0);
if ("Message".equals(name)) {
appEntity=new AppWebEntity();
}
preTag=name;
}
@Override
public void endElement(String uri, String localName, String name)
throws SAXException {
if(appEntity!=null){
String data = sb.toString();
if ("IMSI".equals(preTag)) {
appEntity.setPhoneInfo_IMSI(data);
}
if ("MEID".equals(preTag)) {
appEntity.setPhoneInfo_MEID(data);
}
if ("PhoneType".equals(preTag)) {
appEntity.setPhoneInfo_PhoneType(data);
}
if ("OSVersion".equals(preTag)) {
appEntity.setPhoneInfo_OSVersion(data);
}
if ("BaseBand".equals(preTag)) {
appEntity.setPhoneInfo_BaseBand(data);
}
if ("Kernel".equals(preTag)) {
appEntity.setPhoneInfo_Kernel(data);
}
if ("InnerVersion".equals(preTag)) {
appEntity.setPhoneInfo_InnerVersion(data);
}
if ("RamUsage".equals(preTag)) {
appEntity.setPhoneInfo_RamUsage(data);
}
if ("CpuUsage".equals(preTag)) {
appEntity.setPhoneInfo_CpuUsage(data);
}
if ("Longitude".equals(preTag)) {
appEntity.setPositionInfo_Longitude(data);
}
if ("Latitude".equals(preTag)) {
appEntity.setPositionInfo_Latitude(data);
}
if ("LocationDesc".equals(preTag)) {
appEntity.setPositionInfo_LocationDesc(data);
}
if ("Province".equals(preTag)) {
appEntity.setPositionInfo_Province(data);
}
if ("City".equals(preTag)) {
appEntity.setPositionInfo_City(data);
}
if ("NetType".equals(preTag)) {
appEntity.setNetInfo_NetType(data);
}
if ("APN".equals(preTag)) {
appEntity.setNetInfo_APN(data);
}
if ("CdmaSid".equals(preTag)) {
appEntity.setNetInfo_CdmaSid(data);
}
if ("CdmaNid".equals(preTag)) {
appEntity.setNetInfo_CdmaNid(data);
}
if ("CdmaBsid".equals(preTag)) {
appEntity.setNetInfo_CdmaBsid(data);
}
if ("CdmadBm".equals(preTag)) {
appEntity.setNetInfo_CdmadBm(data);
}
if ("LteCi".equals(preTag)) {
appEntity.setNetInfo_LteCi(data);
}
if ("LtePci".equals(preTag)) {
appEntity.setNetInfo_LtePci(data);
}
if ("LteTac".equals(preTag)) {
appEntity.setNetInfo_LteTac(data);
}
if ("LteRsrp".equals(preTag)) {
appEntity.setNetInfo_LteRsrp(data);
}
if ("LteSinr".equals(preTag)) {
appEntity.setNetInfo_LteSinr(data);
}
if ("InnerIP".equals(preTag)) {
appEntity.setNetInfo_InnerIP(data);
}
if ("OuterIP".equals(preTag)) {
appEntity.setNetInfo_OuterIP(data);
}
if ("WebsiteName".equals(preTag)) {
appEntity.setTestResult_WebsiteName(data);
}
if ("PageURL".equals(preTag)) {
appEntity.setTestResult_PageURL(data);
}
if ("PageIP".equals(preTag)) {
appEntity.setTestResult_PageIP(data);
}
if ("PageSurfTime".equals(preTag)) {
appEntity.setTestResult_PageSurfTime(data);
}
if ("FirstByteDelay".equals(preTag)) {
appEntity.setTestResult_FirstByteDelay(data);
}
if ("PageOpenDelay".equals(preTag)) {
appEntity.setTestResult_PageOpenDelay(data);
}
if ("RRCSetupDelay".equals(preTag)) {
appEntity.setTestResult_RRCSetupDelay(data);
}
if ("DnsDelay".equals(preTag)) {
appEntity.setTestResult_DnsDelay(data);
}
if ("ConnDelay".equals(preTag)) {
appEntity.setTestResult_ConnDelay(data);
}
if ("ReqDelay".equals(preTag)) {
appEntity.setTestResult_ReqDelay(data);
}
if ("ResDelay".equals(preTag)) {
appEntity.setTestResult_ResDelay(data);
}
if ("TCLASS".equals(preTag)) {
appEntity.setTestResult_TCLASS(data);
}
if ("Success".equals(preTag)) {
appEntity.setTestResult_Success(data);
}
}
if ("Message".equals(name)) {
appEntitys.add(appEntity);
appEntity=null;
}
preTag = null;
}
public List<AppWebEntity> getList() {
// TODO Auto-generated method stub
return appEntitys;
}
}
private StringBuilder sb = new StringBuilder();
private AppWebEntity appEntity;
private List<AppWebEntity> appEntitys;
private String preTag;
@Override
public void startDocument() throws SAXException {
appEntitys = new ArrayList<AppWebEntity>();
}
@Override
public void characters(char[] ch, int start, int length)
throws SAXException {
//(2)不管在startElement到endElement的过程中,执行了多少次characters, 都会将内容添加到StringBuilder中,不会丢失内容
sb.append(ch, start, length);
}
@Override
public void startElement(String uri, String localName, String name,
Attributes attr) throws SAXException {
//(3) 开始收集新的标签的数据时,先清空历史数据
sb.setLength(0);
if ("Message".equals(name)) {
appEntity=new AppWebEntity();
}
preTag=name;
}
@Override
public void endElement(String uri, String localName, String name)
throws SAXException {
if(appEntity!=null){
String data = sb.toString();
if ("IMSI".equals(preTag)) {
appEntity.setPhoneInfo_IMSI(data);
}
if ("MEID".equals(preTag)) {
appEntity.setPhoneInfo_MEID(data);
}
if ("PhoneType".equals(preTag)) {
appEntity.setPhoneInfo_PhoneType(data);
}
if ("OSVersion".equals(preTag)) {
appEntity.setPhoneInfo_OSVersion(data);
}
if ("BaseBand".equals(preTag)) {
appEntity.setPhoneInfo_BaseBand(data);
}
if ("Kernel".equals(preTag)) {
appEntity.setPhoneInfo_Kernel(data);
}
if ("InnerVersion".equals(preTag)) {
appEntity.setPhoneInfo_InnerVersion(data);
}
if ("RamUsage".equals(preTag)) {
appEntity.setPhoneInfo_RamUsage(data);
}
if ("CpuUsage".equals(preTag)) {
appEntity.setPhoneInfo_CpuUsage(data);
}
if ("Longitude".equals(preTag)) {
appEntity.setPositionInfo_Longitude(data);
}
if ("Latitude".equals(preTag)) {
appEntity.setPositionInfo_Latitude(data);
}
if ("LocationDesc".equals(preTag)) {
appEntity.setPositionInfo_LocationDesc(data);
}
if ("Province".equals(preTag)) {
appEntity.setPositionInfo_Province(data);
}
if ("City".equals(preTag)) {
appEntity.setPositionInfo_City(data);
}
if ("NetType".equals(preTag)) {
appEntity.setNetInfo_NetType(data);
}
if ("APN".equals(preTag)) {
appEntity.setNetInfo_APN(data);
}
if ("CdmaSid".equals(preTag)) {
appEntity.setNetInfo_CdmaSid(data);
}
if ("CdmaNid".equals(preTag)) {
appEntity.setNetInfo_CdmaNid(data);
}
if ("CdmaBsid".equals(preTag)) {
appEntity.setNetInfo_CdmaBsid(data);
}
if ("CdmadBm".equals(preTag)) {
appEntity.setNetInfo_CdmadBm(data);
}
if ("LteCi".equals(preTag)) {
appEntity.setNetInfo_LteCi(data);
}
if ("LtePci".equals(preTag)) {
appEntity.setNetInfo_LtePci(data);
}
if ("LteTac".equals(preTag)) {
appEntity.setNetInfo_LteTac(data);
}
if ("LteRsrp".equals(preTag)) {
appEntity.setNetInfo_LteRsrp(data);
}
if ("LteSinr".equals(preTag)) {
appEntity.setNetInfo_LteSinr(data);
}
if ("InnerIP".equals(preTag)) {
appEntity.setNetInfo_InnerIP(data);
}
if ("OuterIP".equals(preTag)) {
appEntity.setNetInfo_OuterIP(data);
}
if ("WebsiteName".equals(preTag)) {
appEntity.setTestResult_WebsiteName(data);
}
if ("PageURL".equals(preTag)) {
appEntity.setTestResult_PageURL(data);
}
if ("PageIP".equals(preTag)) {
appEntity.setTestResult_PageIP(data);
}
if ("PageSurfTime".equals(preTag)) {
appEntity.setTestResult_PageSurfTime(data);
}
if ("FirstByteDelay".equals(preTag)) {
appEntity.setTestResult_FirstByteDelay(data);
}
if ("PageOpenDelay".equals(preTag)) {
appEntity.setTestResult_PageOpenDelay(data);
}
if ("RRCSetupDelay".equals(preTag)) {
appEntity.setTestResult_RRCSetupDelay(data);
}
if ("DnsDelay".equals(preTag)) {
appEntity.setTestResult_DnsDelay(data);
}
if ("ConnDelay".equals(preTag)) {
appEntity.setTestResult_ConnDelay(data);
}
if ("ReqDelay".equals(preTag)) {
appEntity.setTestResult_ReqDelay(data);
}
if ("ResDelay".equals(preTag)) {
appEntity.setTestResult_ResDelay(data);
}
if ("TCLASS".equals(preTag)) {
appEntity.setTestResult_TCLASS(data);
}
if ("Success".equals(preTag)) {
appEntity.setTestResult_Success(data);
}
}
if ("Message".equals(name)) {
appEntitys.add(appEntity);
appEntity=null;
}
preTag = null;
}
public List<AppWebEntity> getList() {
// TODO Auto-generated method stub
return appEntitys;
}
}