加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

XML解析小记之防止数据过长被截断

发布时间:2020-12-16 08:40:07 所属栏目:百科 来源:网络整理
导读:public class AppWebSaxXml extends DefaultHandler { private StringBuilder sb = new StringBuilder(); private AppWebEntity appEntity; private ListAppWebEntity appEntitys; private String preTag; @Override public void startDocument() throws SAXE
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 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; } }

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读