首页 > 其他 > 详细

sax解析小案例

时间:2016-08-01 14:04:29      阅读:224      评论:0      收藏:0      [点我收藏+]

sax解析是通过事件处理。

案例如下所示:

public class SaxExercise {



public static void main(String[] args) throws Throwable, SAXException {

//1.通过newinstance获得一个工厂

SAXParserFactory factory = SAXParserFactory.newInstance();

//2.通过一个工厂获得一个解释器

SAXParser saxParser = factory.newSAXParser();

//3.解析文档

//parse(需要解析的文档,一个继承defaulthandle的子类对象)

saxParser.parse("person.xml", new MydefaultHandle());

}


穿件的defaultHandle的子类对象的五个方法如下所示:

package itcast.cn;


import org.xml.sax.Attributes;

import org.xml.sax.SAXException;

import org.xml.sax.helpers.DefaultHandler;


public class MydefaultHandle extends DefaultHandler {

   @Override

public void startDocument() throws SAXException {

// 文档开始通知

super.startDocument();

}

  @Override

public void endDocument() throws SAXException {

// 文档借宿

super.endDocument();

}

  @Override

public void startElement(String uri, String localName, String qName,

Attributes attributes) throws SAXException {

// 元素开始

  //qname是标签的名字

super.startElement(uri, localName, qName, attributes);

if (qName.equals("name")||qName.equals("age")) {

System.out.print(qName+"=");

}else {

System.out.println(qName);

}

}

  @Override

public void endElement(String uri, String localName, String qName)

throws SAXException {

//元素结束

super.endElement(uri, localName, qName);

}

  @Override

public void characters(char[] ch, int start, int length)

throws SAXException {

// 处理文档

super.characters(ch, start, length);

//下面是将一个字符串数组转换为一个字符串的方法

String content = new String(ch, start, length).trim();

if (content.length()>0) {

System.out.println(content);

}

}

}


sax解析小案例

原文:http://11906694.blog.51cto.com/11896694/1832928

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!