苏木三少
错的不是你,而是这个世界。

XML文件学习-SAX解析解读

SAX方式:事件驱动,边读边写,

优点:无需将整个文档加载到内存中,所以内存消耗比较少,适合解析特别大的xml文件。

SAX解析的四个步骤:

(1)、创建解析工厂:
//创建解析工程。

1
    SAXParserFactory saxParserFactory= SAXParserFactory.newInstance();

(2)、创建解析器:
//创建解析器

1
SAXParser saxParse =saxParserFactory.newSAXParser();

(3)、执行Parse方法
//通过解析器Parser方法

1
saxParse.parse("conf/persons.xml",new MyDefaultHandler());

xml源码

1
2
3
4
5
<!--?xml version="1.0" encoding="UTF-8"?-->
zhangsan
20
wamgwu
29

快速重载方法 Alt+Shift+s

SAX解析源码

1
package com.sumushao.xml;

import javax.xml.parsers.ParserConfigurationException;
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;

public class SAXParserTest {

public static void main(String[] args) {

try {
//创建解析工厂
SAXParserFactory saxParserFactory= SAXParserFactory.newInstance();
//创建解析器
SAXParser saxParse =saxParserFactory.newSAXParser();
//通过解析器Parser方法
saxParse.parse(“conf/persons.xml”,new MyDefaultHandler());
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}

}

}
class MyDefaultHandler extends DefaultHandler{

@Override
public void startElement(String uri, String localName, String qName, Attributes attributes)
throws SAXException {
// TODO Auto-generated method stub
System.out.print(“<” + qName + “>”);
}

@Override
public void characters(char[] ch, int start, int length) throws SAXException {
// TODO Auto-generated method stub
System.out.println(new String(ch,start,length));
}

@Override
public void endElement(String uri, String localName, String qName) throws SAXException {
// TODO Auto-generated method stub
System.out.print(“</” + qName + “>”);
}

}

解析图片:

赞(3) 打赏
有问题的朋友随时留言,或者加我为好友。我的QQ是805375353. <<苏木三少博客 » XML文件学习-SAX解析解读

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏

十年之约