【JAXP】SAX方式解析XML文件
来源:互联网 发布:被收购的中国品牌 知乎 编辑:程序博客网 时间:2024/04/30 08:01
package cn.jbit.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 SAXTest {public static void main(String[] args) throws Exception {//创建SAX解析器工厂对象SAXParserFactory sax = SAXParserFactory.newInstance();//通过SAX解析器工厂创建SAX解析器SAXParser parser = sax.newSAXParser();//获取XML文档读取器XMLReader reader = parser.getXMLReader();//创建XML内容处理器Handler handler = new Handler();//设置文档读取器的内容处理程序reader.setContentHandler(handler);//开始解析XML文档reader.parse("E:\\2.xml");//获取解析到的集合对象List<Student> list = handler.getStudents();//遍历集合for (Student s : list) {System.out.println(s.getName() + "..." + s.getSex());}}}class Handler extends DefaultHandler {//用于保存读取到的学生集合private List<Student> list = null;//用于临时保存学生对象Student s = null;//存储正在遍历的标签名String nodeTagName = null;//取得遍历取得的集合public List<Student> getStudents() {return list;}@Overridepublic void startElement(String uri, String localName, String qName,Attributes atts) throws SAXException {nodeTagName = qName;if ("Student".equals(nodeTagName))s = new Student();}@Overridepublic void startDocument() throws SAXException {list = new ArrayList<Student>();}@Overridepublic void endElement(String uri, String localName, String qName) throws SAXException {nodeTagName = null;if ("Student".equals(qName))list.add(s);}@Overridepublic void characters(char[] ch, int start, int length)throws SAXException {String text = new String(ch, start, length);if ("Id".equalsIgnoreCase(nodeTagName))s.setId(text);if ("Name".equalsIgnoreCase(nodeTagName))s.setName(text);if ("Age".equalsIgnoreCase(nodeTagName))s.setAge(text);if ("Sex".equalsIgnoreCase(nodeTagName))s.setSex(text);}}
0 0
- 【JAXP】SAX方式解析XML文件
- jaxp通过sax方式解析xml文件
- xml解析-jaxp-sax方式
- jaxp的sax方式解析xml
- 【XML】JAXP-SAX解析xml
- 利用JAXP的SAX方式对xml进行解析
- jaxp sax解析xml代码
- jaxp利用Sax解析XML
- 【JAXP】Dom方式解析XML文件
- SAX方式解析XML文件
- xml解析技术-jaxp-sax解析
- xml文件--SAX方式解析xml文件
- XML的Jaxp中的SAX解析
- JAXP SAX模式解析xml文档
- javaweb-day02-2(XML 解析 - Jaxp的sax方式解析)
- Dom,SAX,JAXP,DOM4J读写XML文件
- xml解析-jaxp-dom方式
- 利用 Jaxp (Sax) 解析xml文件--- 解析指定节点的值
- 论坛看到的几段话
- C++中将string类型转换为int, float, double类型 主要通过以下几种方式:
- C++ 按字符读取字符串
- 第五周作业——有向图邻接表表示及反向图构造
- 2014年Unity亚洲开发者大会
- 【JAXP】SAX方式解析XML文件
- 【MySQL】基础知识小结
- 面试提问
- Struts-2.3.16 环境配置
- 《自动控制原理》(胥布工版)习题3-4(使用GUI)
- 传送门 (持续更新中,汇总自其他博客)
- 我的地盘我做主
- Android 常用RGB值以及中英文名称
- [Firefox插件]Google搜索提速插件推荐