SAX分析xml文件
来源:互联网 发布:如何关闭mac开机声音 编辑:程序博客网 时间:2024/06/06 05:57
通过SAX进行xml文件分析
1、实现自己的handler类,继承于DefaultHandler。后续作为SAXParser对象parse方法中的参数。主要功能是xml文件分析处理,遇到某一个节点,某一个节点结束,该节点的值等等。
public class SAXHandler extends DefaultHandler{@Overridepublic void startDocument() throws SAXException {log.debug("startDocument");}@Overridepublic void endDocument() throws SAXException {log.debug("endDocument");if(parseFinished != null){parseFinished.parseFinished();}}@Overridepublic void startElement(String uri, String localName, String qName,Attributes attributes) throws SAXException {switch(qName){case REQUEST_HEADER_S:break;case REQUEST_HEADER:TLV tlv = new TLV();tlv.setTag(attributes.getValue(TAG));tlv.setLength(attributes.getValue(LENGTH));tlv.setValue(attributes.getValue(VALUE));tlv.setOffset(attributes.getValue(OFFSET));tlvList.add(tlv);log.debug("["+REQUEST_HEADER+"]"+tlv.toString());break;case RESPONSE_HEADER_S:break;case RESPONSE_HEADER:TLV tlv1 = new TLV();tlv1.setTag(attributes.getValue(TAG));tlv1.setLength(attributes.getValue(LENGTH));tlv1.setValue(attributes.getValue(VALUE));tlv1.setOffset(attributes.getValue(OFFSET));resTlvList.add(tlv1);log.debug("["+RESPONSE_HEADER+"]"+tlv1.toString());break;}}@Overridepublic void endElement(String uri, String localName, String qName)throws SAXException {super.endElement(uri, localName, qName);}@Overridepublic void characters(char[] ch, int start, int length)throws SAXException {super.characters(ch, start, length);}}
saxParserFactory = SAXParserFactory.newInstance();try{saxParser = saxParserFactory.newSAXParser();saxHandler = new SAXHandler();}catch(SAXException e){log.error(e.getMessage());}catch(ParserConfigurationException e){log.error(e.getMessage());}
3、开始分析xml文件
public boolean parse(){try{saxParser.parse(new File(xmlFilePath), saxHandler);}catch(IOException e){log.error(e.getMessage());return false;}catch(SAXException e){log.error(e.getMessage());return false;}return true;}
0 0
- SAX分析xml文件
- SAX 读取xml文件
- xml文件解析-SAX
- sax解析xml文件
- SAX解析xml文件
- SAX解析XML文件
- SAX解析XML文件
- SAX解析XML文件
- SAX解析XML文件
- SAX解析xml文件
- SAX读取XML文件
- SAX解析xml文件
- XML文件解析 sax
- SAX解析xml文件
- SAX解析XML文件
- SAX生成xml文件
- SAX解析XML文件
- SAX解析XML文件
- matlab如何产生不重复的随机数(转)
- Linux PPP详细介绍
- ZendStudio"No projects are found to import"解决方法
- TinyXML来操作XML文件(C++)<二>
- linux 命令大全(以后整理)
- SAX分析xml文件
- 单链表——小练习题
- XMLHttpRequest cannot load – Origin is not allowed by Access-Control-Allow-Origin.
- CentOS自动更新到6.5后root无法登陆问题解决
- Android:单元测试Junit的配置
- 让redis也能实现数据库才有的増删改、查询过滤功能
- 【设计模式】工厂模式是创建型模式 策略模式是行为性模式
- 移动WebApp开发-phoneGap+android入门
- workbench的schema讲解一:(维度dimension设置的基本内容)