java xml解析之SAX
来源:互联网 发布:java项目导入jar包 编辑:程序博客网 时间:2024/06/05 20:45
原理:
SAX解析是读到XML文档的每一部分,就立刻进行解析。调用对应处理器的响应方法。
package com.zhao.stu;import java.util.List;import java.io.IOException;import java.util.ArrayList;import javax.xml.parsers.ParserConfigurationException;import javax.xml.parsers.SAXParser;import javax.xml.parsers.SAXParserFactory;import org.xml.sax.Attributes;import org.xml.sax.SAXException;import org.xml.sax.XMLReader;import org.xml.sax.helpers.DefaultHandler;public class jaxpTest{public static void main(String[] args){try{//实例化SAX工厂SAXParserFactory saxParserFactory = SAXParserFactory.newInstance();//获得解析器SAXParser saxParser = saxParserFactory.newSAXParser();//获得阅读器XMLReader xmlReader = saxParser.getXMLReader();final List<Book> listBooks = new ArrayList<>();//匿名内部类xmlReader.setContentHandler(new DefaultHandler(){private String currentName;private Book book = null;//开始读到元素@Overridepublic void startElement(String uri, String localName, String qName,Attributes atts) throws SAXException{if(qName.equals("書")){book = new Book();}currentName = qName;}//结束读元素@Overridepublic void endElement(String uri, String localName, String qName)throws SAXException{if(qName.equals("書")){listBooks.add(book);}}//获得元素内容@Overridepublic void characters(char[] ch, int start, int length)throws SAXException{if("書名".equals(currentName)){book.setName(new String(ch,start,length));System.out.println("書名".equals(currentName));System.out.println(currentName.equals("書名"));currentName = null;}}});//解析xml文件xmlReader.parse("src\\com/zhao/stu\\book.xml");} catch (ParserConfigurationException e){// TODO 自动生成的 catch 块e.printStackTrace();} catch (SAXException e){// TODO 自动生成的 catch 块e.printStackTrace();} catch (IOException e){// TODO 自动生成的 catch 块e.printStackTrace();}}}
阅读全文
0 0
- java之SAX解析XML
- java xml解析之SAX
- java简单解析xml之SAX解析
- Java 解析 XML 文件之 SAX 解析
- Java XML解析之SAX解析
- Java解析xml文档之SAX解析
- Java 解析 xml 之 DOM and SAX
- JAVA 解析XML之SAX方式
- JAVA解析XML之SAX方式
- Java之SAX解析XMl文件
- 解析xml之--SAX
- 解析xml之--SAX
- 解析xml之--SAX
- XML解析之SAX
- XML 解析之SAX
- XML解析之SAX
- 【xml之SAX解析】
- XML解析之SAX
- 分享MySQL的自动化安装部署的方法
- (项目)项目报错:动态代理调用的方法,找不到,查看已写。
- Jquery常用数组操作
- 从0开始学git 第2节:第1条 git 命令
- Wordpress文章内容的各种调用
- java xml解析之SAX
- 禁用USB接口的例子
- Hbase RegionServer 在集群内部不同组之间移动
- MySQL存储过程
- NUC1333 Knight Moves【DFS】
- php提交表单时如何保留多个空格及换行的文本样式
- TCP的三次握手&&四次挥手
- AttributeError: 'numpy.ndarray' object has no attribute 'value_counts'
- 操作系统教程答案(谢旭升,朱明华版)