XML解析(SAX解析)
来源:互联网 发布:淘宝店铺排行榜怎么看 编辑:程序博客网 时间:2024/05/01 10:16
private void saxParseXml() { if(Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED)){ File path = Environment.getExternalStorageDirectory(); File fxml = new File(path,"books.xml"); try {// FileInputStream fis = new FileInputStream(fxml);//可有可无 //1.获取SAXParserFactory对象 SAXParserFactory saxFactory = SAXParserFactory.newInstance(); //2.获取SAXParser对象 SAXParser parser = saxFactory.newSAXParser(); //3.解析xml parser.parse(fxml,new MyHandler()); for(Book b:books){ Log.d("book", b.toString()); } } catch (FileNotFoundException e) { e.printStackTrace(); } catch (ParserConfigurationException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (SAXException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } } class MyHandler extends DefaultHandler{ private Book book; private String tag; @Override public void characters(char[] ch, int start, int length) throws SAXException { super.characters(ch, start, length); //解析节点内容或空白 if(tag.equals("name")){ book.setName(new String(ch,start,length)); }else if(tag.equals("price")){ book.setPrice(new String(ch,start,length)); } } @Override public void endDocument() throws SAXException { super.endDocument(); //结束文档解析 } @Override public void endElement(String uri, String localName, String qName) throws SAXException { super.endElement(uri, localName, qName); //结束节点解析 tag = ""; if(localName.equals("book")){ books.add(book); } } @Override public void startDocument() throws SAXException { super.startDocument(); //开始文档解析 books = new ArrayList<Book>(); } @Override public void startElement(String uri, String localName, String qName, Attributes attributes) throws SAXException { super.startElement(uri, localName, qName, attributes); tag = localName; //localName --节点名称 //开始节点解析 if(localName.equals("book")){ book = new Book(); book.setId(attributes.getValue("id")); } } }
0 0
- XML解析(SAX解析)
- XML解析:SAX解析
- [XML] SAX解析XML
- 【XML】SAX解析XML
- Study SAX《SAX解析XML》
- 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解析-2 SAX解析
- Sql_mode
- XML解析(pull解析)
- Java 乱码处理方案
- 在升序排序的数组中插入一个元素
- Java中wait和sleep区别
- XML解析(SAX解析)
- $.fn.extend()和$.extend()
- 高并发解决办法
- 拖拽(一个刚体碰到另一个刚体产生另一个物体)
- Java中文乱码解决之道:Java是如何编码解码的
- 微信公众平台概述
- sdau三 1007
- Linux上 Can't connect to X11 window server 错误解决方法
- iOS Swift xib 动态桥接工具