java代码读xml文件的SAX实现方法
来源:互联网 发布:国内财经媒体排名 知乎 编辑:程序博客网 时间:2024/05/29 11:03
java代码读xml文件的SAX实现方法
- 实体类
package com.pro.domain;public class Student { private int stuId; private String stuName; private int age; public int getStuId() { return stuId; } public void setStuId(int stuId) { this.stuId = stuId; } public String getStuName() { return stuName; } public void setStuName(String stuName) { this.stuName = stuName; } public int getAge() { return age; } public void setAge(int age) { this.age = age; }}
- 读取的xml文件
<?xml version="1.0" encoding="UTF-8"?><students> <student id="1"> <name>小是</name> <age>20</age> </student> <student id="2"> <name>小收</name> <age>21</age> </student> <student id="1"> <name>小网</name> <age>18</age> </student> <student id="1"> <name>小饭</name> <age>25</age> </student></students>
- 实现读取的类Mydefault
package com.pro.service;import java.util.ArrayList;import java.util.List;import org.xml.sax.Attributes;import org.xml.sax.SAXException;import org.xml.sax.helpers.DefaultHandler;import com.pro.domain.Student;public class Mydefault extends DefaultHandler { private List<Student> list=null; private Student stu=null; private String temp; public List<Student> getList() { return list; } public void setList(List<Student> list) { this.list = list; } public Student getStu() { return stu; } public void setStu(Student stu) { this.stu = stu; } @Override public void startDocument() throws SAXException { list=new ArrayList<Student>(); } @Override public void endDocument() throws SAXException { // TODO Auto-generated method stub super.endDocument(); } @Override public void startElement(String uri, String localName, String qName, Attributes attributes) throws SAXException { if("student".equals(qName)){ stu=new Student(); String stuId=attributes.getValue("","id"); stu.setStuId(Integer.parseInt(stuId)); } temp=qName; } @Override public void endElement(String uri, String localName, String qName) throws SAXException { if("student".equals(qName)){ if(stu!=null){ list.add(stu); } stu=null; } temp=null; } @Override public void characters(char[] ch, int start, int length) throws SAXException { if("name".equals(temp)){ if(stu!=null){ stu.setStuName(new String(ch,start,length)); } } if("age".equals(temp)){ if(stu!=null){ stu.setAge(Integer.parseInt(new String(ch,start,length))); } } }}
- SAX解析
package com.pro.service;import java.io.InputStream;import java.util.List;import javax.xml.parsers.SAXParser;import javax.xml.parsers.SAXParserFactory;import com.pro.domain.Student;public class ReadXmlManager { public static List<Student> readXml() throws Exception{ InputStream is= Thread.currentThread().getContextClassLoader().getResourceAsStream("student.xml"); SAXParserFactory factory=SAXParserFactory.newInstance(); SAXParser saxParser = factory.newSAXParser(); Mydefault dh=new Mydefault(); saxParser.parse(is, dh); return dh.getList(); }}
- 测试
package com.pro.test;import java.util.List;import com.pro.domain.Student;import com.pro.service.ReadXmlManager;public class Test { public static void main(String[] args) throws Exception { // TODO Auto-generated method stub List<Student> list=ReadXmlManager.readXml(); for(Student s:list){ System.out.println(s.getStuId()+"---"+s.getStuName()+"----"+s.getAge()); } }}
0 0
- java代码读xml文件的SAX实现方法
- java解析xml文件的2种方法:sax,dom
- java的SAX库实现XML文件的解析
- Android解析xml文件的方法:SAX
- SAX读取xml文件的方法总结
- Java的Sax创建xml代码
- C# xml 文件的读写 SAX实现
- SAX实现对XML文件的解析
- Java 解析xml的方法:DOM,SAX
- 不依赖第三方jar包的通过java sax解析本地xml文件的实例代码
- 不依赖第三方jar包的通过java sax解析本地xml文件的实例代码
- XML文件解析---SAX方法
- SAX方法解析XML文件
- Sax 实现XML文件解析
- java的xml学习[使用SAX解析XML文件]
- java环境下读取xml文件的方法主要有4种:DOM、SAX、JDOM、JAXB
- java中解析xml文件的五种常见方法:DOM4J,dom,pull,SAX,Jdom
- java中写入xml文件内容的方法:DOM,Jdom,pull,Dom4j,Sax
- git学习—(5)设置忽略文件
- Tensorflow 卷积层
- 【职业生涯】说的挺好
- 多线程
- 搜索旋转数组
- java代码读xml文件的SAX实现方法
- C++版本查找(找X问题)1052
- hihoCoder 1151 骨牌覆盖 递推+矩阵幂
- LightOj 1259 Goldbach`s Conjecture 素数筛法
- 基于原版Hadoop的YDB部署
- 电子通讯录的基本模板
- 草稿:Leetcode 310. Minimum Height Trees
- 算法与数据结构【三】——栈的C语言实现
- Log4j_2_配置参数详解