根据xml的标签解析文件的Demo
来源:互联网 发布:软件测试大赛 编辑:程序博客网 时间:2024/06/06 02:59
package xmlExtractor;import org.xml.sax.Attributes;import org.xml.sax.SAXException;import org.xml.sax.helpers.DefaultHandler;import java.util.ArrayList;import java.util.List;public class SAXHandler extends DefaultHandler { int bookIndex = 0; private List<Book> bookList = new ArrayList<Book>(); private Book book = null; private String value = null; //用来标志解析开始 @Override public void startDocument() throws SAXException { System.out.println("解析开始"); } //用来标志解析结束 @Override public void endDocument() throws SAXException { System.out.println("解析结束"); } //用来遍历元素 //开始标签 @Override public void startElement(String uri, String localName, String qName, Attributes attributes) throws SAXException { if (qName.equals("book")) { bookIndex++; book = new Book(); System.out.println("============================第" + bookIndex + "本书开始了========================="); //已知book下属性元素的名称 //System.out.println(attributes.getValue("id")); for (int i = 0; i < attributes.getLength(); i++) { String name = attributes.getQName(i); if (name.equals("id")) { book.setId(attributes.getValue(i)); } else if (name.equals("class")) { book.setClassName(attributes.getValue(i)); } book.setId(attributes.getValue(i)); //System.out.println(name); System.out.println("第" + bookIndex + "本书的" + attributes.getQName(i) + "是:" + attributes.getValue(i)/*attributes.getValue(Qname)*/); } } else if (!qName.equals("bookStore")) { System.out.print("第" + bookIndex + "本书的" + qName + "是:"); } } //遍历标签内的内容 @Override public void characters(char[] ch, int start, int length) throws SAXException { value = new String(ch, start, length); //如果标签下没有内容,如bookstore与book之间就没有内容,将不打印 if (!value.trim().equals("")) { System.out.println(value); } } //遍历元素的结束标签 @Override public void endElement(String uri, String localName, String qName) throws SAXException { if (qName.equals("book")) { bookList.add(book); book = null; System.out.println("============================第" + bookIndex + "本书结束了========================="); } else if (qName.equals("name")) { book.setName(value); } else if (qName.equals("author")) { book.setAuthor(value); } else if (qName.equals("year")) { book.setYear(value); } } public List<Book> getBookList() { return bookList; }}
阅读全文
0 0
- 根据xml的标签解析文件的Demo
- 解析xml文件的标签内容
- SAX解析 XML的Demo
- Json解析与XML解析的demo
- Pull 解析相同Tag标签的XML文件
- 用DefaultHandler解析XML的Demo
- Android SAX 解析XML的Demo
- 解析xml数据的简单demo
- Kissxml 解析 XML数据的简单Demo
- xml文件的解析
- XML文件的解析
- XML文件的解析
- xml文件的解析
- xml文件的解析
- XML文件的解析
- XML文件的解析
- XML文件的解析
- xml文件的解析
- 几种求函数最值的算法
- 跨浏览器的事件处理、事件对象
- Netty实战读书笔记(第五章(一))
- mqtt+activemq用发布订阅实现点对点推送
- 数据分析的统计学基础--方差分析
- 根据xml的标签解析文件的Demo
- http协议接口调用,basic验证
- 【WEB】表单基础知识实例DEMO
- Java实现-Huffman编码与解码
- 内核链表
- LINUX 版本信息查看(全)
- 用with open完成python读写
- 读懂深度学习
- JS工具类