JavaWeb学习笔记-XML-5
来源:互联网 发布:lua保存数据 编辑:程序博客网 时间:2024/06/05 04:15
SAX
解析器
事件处理器
public static void main(String[] args){ //创建解析工厂 SAXParserFactory factory = SAXParserFactory.newInstance(); //得到解析器 SAXParser sp = factory.newSAXparser(); //得到读取器 XMLReader reader = sp.getXMLReader(); //设置内容处理器 //reader.setContentHander(new ListHandler); BeanListHandler handle = new BeanListHandler(); reader.setContentHander(hndle); //读取xml文档内容 reader.parse("src/book.xml"); List<Book> list = handle.getBookList(); System.out.println(list);}//内容处理器class ListHandler implements ContentHandler{ public void startElement(String url, String localName, String name, Attributes atts)throws SAXException{ System.out.println("<"+name+">"); for(int i=0; atts!=null && i<atts.getLnegth();i++){ String attName = atts.getQName(); String attValue = atts.getValue(); } } public void characters(char[] ch,int start, int length)throws SAXException{ System.out.println(new String(ch,start,length)); } public void endElement(String url, String localName, String name, Attributes atts)throws SAXException{ System.out.println("<"+name+">"); } ....
//定义处理器//获取指定标签值clas TagValueHandler extends DefaultHandler{ private String currentTag;//记住当前解析到的标签 public void startElement(String url, String localName, String name, Attributes atts)throws SAXException{ currentTag = name; } } public void characters(char[] ch,int start, int length)throws SAXException{ if("作者".equals(currentTag)){ System.out.println(new String(ch,start,length)); } } public void endElement(String url, String localName, String name, Attributes atts)throws SAXException{ currentTag = null; }}
//常用处理器//把xml文档中的每一本书封装到一个book对象中//并把多个book对象放在一个list集合中class BeanListHandler extends DefaultHandler{ private List list = new ArrayList(); private String currentTag; private Book book; public void startElement(String url, String localName, String name, Attributes atts)throws SAXException{ currentTag = name; if("书".equals(currentTag)){ book = new Book(); } } public void characters(char[] ch,int start, int length)throws SAXException{ if("书名".equals(currentTag)){ String name = new String(ch,start,length); book.setName(name); } if("作者".equals(currentTag)){ String author = new String(ch,start,length); book.setName(author); } if("售价".equals(currentTag)){ String prive = new String(ch,start,length); book.setName(price); } } public void endElement(String url, String localName, String name, Attributes atts)throws SAXException{ if(name.equals("书")){ list.add(book); bool = null; } currentTag = null; } public List getBookLists(){ return list; }}public class Book{ private Stirng name; private String author; private String price; ...//get set 方法}
阅读全文
0 0
- JavaWeb学习笔记-XML-5
- javaweb学习笔记:XML学习
- javaweb学习笔记1--xml
- JavaWeb学习笔记06-xml
- JavaWeb学习笔记-XML-1
- JavaWeb学习笔记-XML-2
- JavaWeb学习笔记-XML-3
- JavaWeb学习笔记-XML-4
- JavaWeb学习笔记-XML-6
- JavaWeb学习笔记-XML-7
- JavaWeb学习笔记-XML-8
- JavaWeb学习笔记之xml&DTD&schema
- JavaWeb学习笔记之xml解析
- JavaWeb学习笔记——XML
- Javaweb-xml基础1(学习笔记)
- Javaweb-xml基础2(学习笔记)
- Javaweb-xml基础3(学习笔记)
- JavaWeb学习笔记(四)---XML技术之XML语法
- c语言:输出心形图案
- 如何在 Linux 中运行 DOS 程序!
- git 简单使用
- Chapter one 浏览器生成消息——探索浏览器内部
- 一个有趣的网站
- JavaWeb学习笔记-XML-5
- mvp请求网络数据
- [LeetCode] Roman to Integer
- 处理eclipse启动时报java.lang.IllegalStateException
- hdu_2000 ASCII码排序
- XRecyclerView实现上拉下拉
- MIT 第一课: 方程组的几何解释
- JavaScript 入门及简介
- Game of Connections HDU