用javabean封装xml文档数据
来源:互联网 发布:python获取当前路径 编辑:程序博客网 时间:2024/06/05 06:38
//book.xml
<?xml version="1.0" encoding="UTF-8"?><bookstore><book id="1"><name>冰与火之歌</name><author>乔治马丁</author><year>2014</year><price>89</price><language>English</language></book><book id="2"><name>安徒生童话</name><year>2004</year><price>77</price><language>English</language></book></bookstore>
//Books.java
package com.huowolf.handler;public class Books {private String name;private String author;private int year;private double price;public void setName(String name) {this.name = name;}public void setAuthor(String author) {this.author = author;}public void setYear(int year) {this.year = year;}public void setPrice(double price) {this.price = price;}public String getName() {return name;}public String getAuthor() {return author;}public int getYear() {return year;}public double getPrice() {return price;}}//Demo.java
package com.huowolf.handler;/* * 用javabean封装xml文档数据 */import java.util.ArrayList;import java.util.List;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 Demo3 {public static void main(String[] args) throws Exception {//获取一个解析工厂SAXParserFactory factory = SAXParserFactory.newInstance();//通过factory获取解析器SAXParser parser = factory.newSAXParser();//得到读取器XMLReader reader = parser.getXMLReader();//设置内容处理器BeanListHandler handler = new BeanListHandler();reader.setContentHandler(handler);//读取xml文档内容reader.parse("books.xml");List<Books> list = handler.getBooks();System.out.println(list);System.out.println(list.get(0).getAuthor());}}//把xml文档中的每一本书封装到一个book对象,并把多个book对象放在一个list集合中返回class BeanListHandler extends DefaultHandler {private List<Books> list= new ArrayList<Books>();private String currentTag;private Books book;@Overridepublic void startDocument() throws SAXException {System.out.println("开始解析");}@Overridepublic void startElement(String uri, String localName, String qName,Attributes attributes) throws SAXException {currentTag = qName;if(currentTag.equals("book")) {book = new Books();}}@Overridepublic void characters(char[] ch, int start, int length)throws SAXException {if("name".equals(currentTag)) {String name = new String(ch, start, length);book.setName(name);}if("author".equals(currentTag)) {String author = new String(ch, start, length);book.setAuthor(author);}if("year".equals(currentTag)) {int year = Integer.parseInt(new String(ch, start, length));book.setYear(year);}if("price".equals(currentTag)) {double price = Double.parseDouble(new String(ch, start, length));book.setPrice(price);}}@Overridepublic void endElement(String uri, String localName, String qName)throws SAXException {//System.out.println(qName);if(qName.equals("book")) {list.add(book);book = null;}currentTag = null;}//返回list集合public List<Books> getBooks() {return list;}}
//学习自方立勋老师视频教程
0 0
- 用javabean封装xml文档数据
- javabean封装xml文档数据
- sax解析案例(javabean封装xml文档数据)
- sax封装xml文档数据
- XML 的 SAX 解析范例:将数据封装至javaBean
- 使用javaBean封装数据
- XStream - Javabean转XML文档
- javaweb 数据封装到javabean
- 解析word文档,获取相应的数据,并封装成相应的javaBean(一)
- 解析word文档,获取相应的数据,并封装成相应的javaBean(二)
- 用BeanUtils类自动封装表单数据到javabean
- 用BeanUtils类自动封装表单数据到javabean
- SAX对xml的解析,javabean封装
- XML数据映射到javaBean
- 自动表单数据封装到javaBean中
- SQL查询数据封装JavaBean对象
- BeanUtils数据封装与表单JavaBean
- 表单数据自动封装到javaBean中
- 第12周项目3(1)-求n的阶乘
- lua ide
- 求出100之类的素数;
- linux命令之ldd
- 第12周项目2-分离一个整数的各位数
- 用javabean封装xml文档数据
- LeetCode——Search Insert Position
- webrtc系列专题之trickle ice
- 【C语言疯狂讲义】(十二)C语言二维数组
- 哈希表(初步实现)
- windows程序设计之捕获鼠标
- MVC入门(一)——什么是MVC及其处理方式
- UVA10254 - The Priest Mathematician(找规律)
- 数据类型和基本运算第一天