SAX解析XML文件

SAX解析:

SAX不同于Dom.它是小口慢咽.一点一点的将文件读取解析.在读取大文件的时候相对于Dom就有明显的优势.
解析原理:一个元素一个元素的解析,解析到一个元素调用相应的方法.startDocument() 文档开始 endDocument 文档结束 startElement 元素开始 endElement元素结束 characters 文本内容


<span style="font-size:18px;">public class SaxParser {
	@Test
	public void saxParser() throws Exception{
		 //获取工厂
		 SAXParserFactory parserFactory = SAXParserFactory.newInstance();
		 SAXParser saxParser = parserFactory.newSAXParser();
		 //获取XMLreader,通过reader可以设置contenHhandler
		 XMLReader xmlReader = saxParser.getXMLReader();
		 //给xmlrReader设置contentHandler.若是实现接口contentHandle.有很多方法需要重写.所以
		 //采用继承默认的实现DefaultHandle
		 xmlReader.setContentHandler(new MyHandler());
		 xmlReader.parse("smartisan.xml");
		 
		
	}
	private class MyHandler extends DefaultHandler{
		@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 {
			System.out.println("开始标签<"+qName+">");
		}
		@Override
		public void endElement(String uri, String localName, String qName)	throws SAXException {
			System.out.println("结束标签</"+qName+">");
		}
		@Override
		public void characters(char[] ch, int start, int length)throws SAXException {
			String string = new String(ch, start, length);
			System.out.println(string);
		} 	
	}</span>



  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值