java SAXParserFactory解析xml文件
来源:互联网 发布:穆勒plc手动编程方法 编辑:程序博客网 时间:2024/06/01 15:24
申明:个人学习总结,经供参考,欢迎批评指正与交流
<pre name="code" class="java">/** * */package com.XXX.saxparserxml;import java.io.File;import javax.xml.parsers.SAXParser;import javax.xml.parsers.SAXParserFactory;import com.XXX.utils.Constant;/** * @author */public class ParserXML { private static SAXParser mParser; /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub saxParserXml(); } /** * SAX解析XML文件采用事件驱动的方式进行,SAX是逐行扫描文件, * 遇到符合条件的设定条件后就会触发特定的事件,回调你写好的事件处理程序(Hanlder) */ private static void saxParserXml() { // TODO Auto-generated method stub try { //1.获取sax解析器的工厂对象 SAXParserFactory mParserFactory = SAXParserFactory.newInstance(); // 2.通过工厂对象 mParserFactory创建解析器对象mParser mParser = mParserFactory.newSAXParser(); //3.创建事件处理器对象mHanlder Hanlder mHanlder = new Hanlder(); //4.利用指定处理器解析指定文件 mParser.parse(Constant.PARSER_XML_DIR + File.separator + "test.xml", mHanlder); } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); } }}
Hanlder类
<pre name="code" class="java">/** * */package com.XXX.saxparserxml;import org.xml.sax.Attributes;import org.xml.sax.SAXException;import org.xml.sax.helpers.DefaultHandler;import com.XXX.dbclass.DateBaseClass;/** * @author */public class Hanlder extends DefaultHandler { private boolean isTest = false; public Hanlder() { // TODO Auto-generated constructor stub } public Hanlder(DateBaseClass dbc) { // TODO Auto-generated constructor stub } /** * 开始节点,根据开始节点名建立相关条件或创建相关对象 * */ public void startElement(String uri, String localName, String qName, Attributes attributes) throws SAXException { // TODO Auto-generated method stub super.startElement(uri, localName, qName, attributes); if ("tests".equals(qName)) { isTest = true; } else if ("test".equals(qName)){ System.out.println("parser test start"); } } /** * 结束节点,根据结束节点完成相关动作 * */ public void endElement(String uri, String localName, String qName) throws SAXException { // TODO Auto-generated method stub super.endElement(uri, localName, qName); if ("tests".equals(qName)) { isTest = false; } System.out.println("parser test end"); } /** * 节点间的文字信息,可通过stringbuffer收集每一个节点的文字信息, * 在endElement中清空stringbuffer,收集下一个 * */ public void characters(char[] ch, int start, int length) throws SAXException { // TODO Auto-generated method stub super.characters(ch, start, length); String content = new String(ch, start, length); System.out.println("content = " + content); }}
0 0
- java SAXParserFactory解析xml文件
- XML 文件解析 SAXParserFactory
- android如何使用DOM和SAXParserFactory来解析XML文件
- java.lang.ClassNotFoundException: javax.xml.parsers.SAXParserFactory
- Tomcat启动报错,不能正常解析配置文件 Could not load META-INF/services/javax.xml.parsers.SAXParserFactory XML文件解析失败
- java 解析 xml文件
- java解析xml文件
- Java解析XML文件
- java解析xml文件
- java解析xml文件
- Java解析XML文件
- java解析xml文件
- java解析xml文件
- java解析xml文件
- java解析xml文件
- java解析XML文件
- java解析xml文件
- java解析xml文件
- DEDE采集规则过滤与替换
- iphone数据存储之--NSUserDefaults
- POJ 2763 Housewife Wind 树链剖分
- 嵌入式学习书籍大推荐
- 全文检索技术Lucene入门和学习、与数据库数据结合的demo实现
- java SAXParserFactory解析xml文件
- ARM常用汇编指令集
- My Site Clean Up Job介绍
- ListView下拉刷新
- 动画CAAnimationGroup
- cocos2d-x windows平台打包exe (转载)
- C#调用C++ 平台调用P/Invoke 结构体--内存对齐方式、union封装【七】
- 测试一下
- 织梦DedeCMS提示“无法获得主键,因此无法进行后续操作