JaxpSax解析XML
发布时间:2020-12-16 09:32:14 所属栏目:百科 来源:网络整理
导读: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.hel
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; import Book; //要把数据封装到对象中 public class SAXDemo3 { public static void main(String[] args) throws Exception { SAXParser parser = SAXParserFactory.newInstance().newSAXParser(); XMLReader reader = parser.getXMLReader(); List<Book> books = new ArrayList<Book>(); reader.setContentHandler(new MyContentHandler2(books)); reader.parse("src/book.xml"); //验证 for(Book b:books) System.out.println(b); } } class MyContentHandler2 extends DefaultHandler{ private List<Book> books; public MyContentHandler2(List<Book> books){ this.books = books; } private Book book; private String currentElementName; public void startElement(String uri,String localName,String qName,Attributes attributes) throws SAXException { currentElementName = qName; if("书".equals(qName)){ book = new Book(); } } public void endElement(String uri,String qName) throws SAXException { if("书".equals(qName)){ books.add(book); book = null; } currentElementName = null; } public void characters(char[] ch,int start,int length) throws SAXException { if("书名".equals(currentElementName)){ book.setName(new String(ch,start,length)); } if("作者".equals(currentElementName)){ book.setAuthor(new String(ch,length)); } if("售价".equals(currentElementName)){ book.setPrice(new String(ch,length)); } } } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- 用 Dojo 的 Ajax 应用开发进阶教程,第 1 部分:JavaScript
- Replace Matches with Replacements Generated in Code (用
- ruby – 做任何mongodb ORM允许你使用别名字段吗?
- cocos2dx-ui的分类与使用
- Flex获取参数(一)――window.location.search.substring
- ios – 没有CocoaPods的Firebase崩溃报告
- 使用嵌入式关系型SQLite数据库存储数据
- oracle中 sql语句:start with .. connect by prior.. 用法
- 详解C++中变量的初始化规则
- ruby-on-rails – Rails在视图中设置页面标题
推荐文章
站长推荐
热点阅读