XML文件:
<?xml version="1.0" encoding="utf-8"?> <persons> <person> <name>java小强</name> <sex>man</sex> <age>30</age> </person> <person> <name>崔素强</name> <sex>man</sex> <age>26</age> </person> </persons>
为此建立响应的对象:
package com.test; public class Xml { private String name; private String sex; private int age; public String getName() { return name; } public void setName(String name) { this.name = name; } public String getSex() { return sex; } public void setSex(String sex) { this.sex = sex; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } }
参考的解析代码:
package com.test; import java.io.FileInputStream; import java.io.InputStream; 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.helpers.DefaultHandler; /** * @说明 SAX解析XML * @author cuisuqiang * @version 1.0 * @since */ public class SaxDemo{ public static void main(String[] args) { try { SaxDemo sd = new SaxDemo(); String file = "C:\\p.xml"; // 文件存放位置 sd.parserXml(file); } catch (Exception e) { e.printStackTrace(); } } public void parserXml(String fileName) throws Exception { SAXParserFactory saxfac = SAXParserFactory.newInstance(); SAXParser saxparser = saxfac.newSAXParser(); InputStream is = new FileInputStream(fileName); SAXHandler sh = new SAXHandler(); saxparser.parse(is, sh); List<Xml> list = sh.getPersons(); System.out.println("====输出解析到的内容===="); for(Xml x : list){ System.out.println(x.getName() + "\t" + x.getSex() + "\t" + x.getAge()); } } } class SAXHandler extends DefaultHandler { private List<Xml> list = null; private Xml xml = null; private String str = null; public List<Xml> getPersons() { return list; } public void startDocument() throws SAXException { list = new ArrayList<Xml>(); System.out.println("XML解析开始"); } public void endDocument() throws SAXException { System.out.println("XML解析结束"); } public void startElement(String uri, String localName, String qName, Attributes attributes) throws SAXException { if("person".equals(qName)){ xml = new Xml(); System.out.println("开始实体解析"); } } public void endElement(String uri, String localName, String qName) throws SAXException { if("name".equals(qName)){ xml.setName(str); } if("sex".equals(qName)){ xml.setSex(str); } if("age".equals(qName)){ xml.setAge(Integer.parseInt(str)); } if("person".equals(qName)){ list.add(xml); System.out.println("实体解析结束"); } } // XML节点的内容会进入此方法 public void characters(char[] ch, int start, int length) throws SAXException { str = new String(ch, start, length); } }
请您到ITEYE网站看原创,谢谢!
http://cuisuqiang.iteye.com/ !
自建博客地址:http://www.javacui.com/ ,内容与ITEYE同步!
相关推荐
SAX解析XML文件的实例。一个项目同时用dom解析和sax解析xml文件貌似会报错,项目框架建一直是用sax和dom4j解析xml文件的。当我用dom解析xml文件。导入包后就报错识别不了xml文件的编码格式。于是做了一个sax解析xml...
java学习笔记——使用DOM解析XML和使用SAX解析XML
使用sax解析xml,有详细的解析及源代码实例
下面是一个SAX解析XML的示例(有点长,因为详细注解了SAX事件处理的所有方法),SAX API中主要有四种处理事件的接口,它们分别是ContentHandler,DTDHandler, EntityResolver 和 ErrorHandler 。下面的例子可能...
android使用SAX解析XML
android 使用sax解析XML,内含视频和源码已经说明文档。非常详细
27.使用SAX解析XML.rar 27.使用SAX解析XML.rar 27.使用SAX解析XML.rar android coolszy
从Tomcat下载xml并使用SAX解析xml文件
JAVA100例之实例69 JAVA使用SAX解析XML
使用sax解析从网络上获取的xml文件
Sax解析XML文件解
Java SAX解析Xml Demo(详细注释)
使用sax解析xml的源代码
Servlet利用SAX解析XML文档,JAX,JSWDP,Servlet利用SAX解析XML文档
Sax解析xml文件详细例子,解析复杂节点的xml,把内容显示到view中,例子简单完整,易用
NULL 博文链接:https://z251257144.iteye.com/blog/1356394
Servlet利用SAX解析XML文档(新上传的有源码)Servlet利用SAX解析XML文档(新上传的有源码)Servlet利用SAX解析XML文档(新上传的有源码)Servlet利用SAX解析XML文档(新上传的有源码)Servlet利用SAX解析XML文档(新上传的有...
python使用SAX解析xml SAX是一种基于事件驱动的API。 利用SAX解析XML文档牵涉到两个部分:解析器和事件处理器。 解析器负责读取XML文档,并向事件处理器发送事件,如元素开始跟元素结束事件; 而事件处理器则负责对事件...
sax解析XML方式的代码及特点,sax解析XML方式的代码及特点,sax解析XML方式的代码及特点,sax解析XML方式的代码及特点
学习android的资料很多,这是学习一些视频之后进行的总结,现在共享出来。希望对大家有帮助。有文档中有附件,是例子!!!!!!!!!!!!!!