SAX解析XML例子
来源:互联网 发布:openresty java web 编辑:程序博客网 时间:2024/04/29 09:53
Demo类:
import java.util.Iterator;import java.util.List;import javax.xml.parsers.SAXParser;import javax.xml.parsers.SAXParserFactory;public class SAXDemo {public static void main(String[] args) {SAXParserFactory factory = SAXParserFactory.newInstance();try {SAXParser parser = factory.newSAXParser();MyHandler handler = new MyHandler();parser.parse("D:/bookstore.xml", handler);List<Book> books = handler.getInfo();Iterator<Book> iterator = books.iterator();while (iterator.hasNext()) {System.out.println(iterator.next());}} catch (Exception e) {// TODO Auto-generated catch blocke.printStackTrace();}}}
Handler类:
import java.util.ArrayList;import java.util.List;import org.xml.sax.Attributes;import org.xml.sax.SAXException;import org.xml.sax.helpers.DefaultHandler;public class MyHandler extends DefaultHandler {private Book book;private List<Book> books = new ArrayList<Book>();private String tag;public List<Book> getInfo() {return books;}@Overridepublic void startElement(String uri, String localName, String qName, Attributes attributes) throws SAXException {// TODO Auto-generated method stubtag = qName;if ("book".equals(qName)) {book = new Book();}if ("title".equals(qName)) {book.setLangguage(attributes.getValue("lang"));}}@Overridepublic void characters(char[] ch, int start, int length) throws SAXException {// TODO Auto-generated method stubString newString = new String(ch, start, length);if ("title".equals(tag)) {book.setTitle(newString);} else if ("author".equals(tag)) {book.setAuthor(newString);} else if ("year".equals(tag)) {book.setYear(Integer.parseInt(newString));} else if ("price".equals(tag)) {book.setPrice(Double.parseDouble(newString));}}@Overridepublic void endElement(String uri, String localName, String qName) throws SAXException {// TODO Auto-generated method stubtag = "";if ("book".equals(qName)) {books.add(book);}}}
基本类:
public class Book {private String title;private String author;private int year;private double price;private String langguage;public Book() {// TODO Auto-generated constructor stub}public String getLangguage() {return langguage;}public void setLangguage(String langguage) {this.langguage = langguage;}public String getTitle() {return title;}public void setTitle(String title) {this.title = title;}public String getAuthor() {return author;}public void setAuthor(String author) {this.author = author;}public int getYear() {return year;}public void setYear(int year) {this.year = year;}public double getPrice() {return price;}public void setPrice(double price) {this.price = price;}@Overridepublic String toString() {return "title=" + title + ", author=" + author + ", year=" + year + ", price=" + price + ", langguage="+ langguage;}}
0 0
- SAX解析XML例子
- SAX解析XML例子
- SAX解析XML的例子.
- SAX解析XML 简单例子
- SAX解析xml 例子使用
- 用SAX解析xml文件的例子
- 用SAX解析XML的例子
- [XML] SAX解析XML
- 【XML】SAX解析XML
- python xml sax 例子
- XML解析(SAX解析)
- XML解析:SAX解析
- DOM和SAX解析xml文档--初学例子
- 一个android中使用sax解析xml的例子
- Study SAX《SAX解析XML》
- 使用SAX解析XML
- 解析xml之--SAX
- SAX解析XML
- 使用批处理命令向win server AD域中批量添加用户实现
- 区块链在中国(2):PBFT算法
- deploy war时遇到的问题
- PopupWindow
- Windows下安装-MongoDB-并设置MongoDB随机启动服务~
- SAX解析XML例子
- user Itext to marge pdf model
- 黑屏问题
- android webview将网页内容导出为图片和PDF方法
- 【JAVA秒会技术之秒杀面试官】JavaEE常见面试题(六)
- Dungeon Master(bfs)
- Http状态码详解
- HTML&CSS&JavaScript思维导图
- iOS适配后台打电话和qq微信视频语音通话