sax封装xml文档数据
来源:互联网 发布:伦斯勒理工大学知乎 编辑:程序博客网 时间:2024/05/20 20:19
有一个xml文档
解析如下
<?xml version="1.0" encoding="UTF-8" standalone="no"?><书架><书><书名 name="xxxx">java web</书名><作者>张大</作者><价格>102</价格></书><书><书名>spring</书名><作者>呜呜</作者><价格>55</价格></书></书架>
有一个javabean用来封装
package cn.itcast.sax;public class Book {private String name;private String author;private String price;public String getName() {return name;}public void setName(String name) {this.name = name;}public String getAuthor() {return author;}public void setAuthor(String author) {this.author = author;}public String getPrice() {return price;}public void setPrice(String price) {this.price = price;}}
解析如下
package cn.itcast.sax;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 {//1.创建工厂SAXParserFactory saxP = SAXParserFactory.newInstance();//2.得到解析器SAXParser parser = saxP.newSAXParser();//3.得到读取器XMLReader xmlR = parser.getXMLReader();//4.设置内容处理器BeanlistHandler bh = new BeanlistHandler();xmlR.setContentHandler(bh);//5.读取xml内容xmlR.parse("src/book.xml");List<Book> list = bh.getList();System.out.println(list);}}class BeanlistHandler extends DefaultHandler{private List list = new ArrayList();private String currentTag;private Book book;@Overridepublic void startElement(String uri, String localName, String qName,Attributes attributes) throws SAXException {currentTag = qName;if("书".equals(currentTag)){book = new Book();}}@Overridepublic void endElement(String uri, String localName, String qName)throws SAXException {if("书".equals(qName)){list.add(book);book = null;}currentTag = null;}@Overridepublic 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.setAuthor(author);}if("价格".equals(currentTag)){String price = new String(ch,start,length);book.setPrice(price);}}public List getList() {return list;}}
0 0
- sax封装xml文档数据
- sax解析案例(javabean封装xml文档数据)
- javabean封装xml文档数据
- SAX将xml文档信息封装到对象中
- XML 的 SAX 解析范例:将数据封装至javaBean
- SAX解析XML文档
- SAX解析xml文档
- SAX解析XML文档
- SAX解析xml文档
- SAX解析xml文档
- SAX解析XML文档
- SAX解析XML文档
- SAX解析XML文档
- SAX解析XML文档
- SAX解析XML文档
- sax解析xml文档
- SAX解析XML文档
- Sax解析Xml文档
- 打开虚拟串口COM18失败,GetLastError返回2
- Java版将EXCEL表数据导入到数据库中
- OpenCV基础篇之使用CMake管理工程
- SOJ 2037: Language of FatMouse
- OpenLayers中长度测量和面积测量等功能的实现2
- sax封装xml文档数据
- leetcode-Multiply Strings
- OpenCV基础篇之查找表
- 使用java技术将Excel表格内容导入mysql数据库
- 漏洞修复之阿里云bash shell漏洞
- zoj 2067 - White Rectangles
- 大神博客笔试(转)
- 深入分析Volatile的实现原理
- QQ在线客服