黑马程序员技术交流社区
标题:
SAX解析xml的步骤
[打印本页]
作者:
从黑到白的马
时间:
2016-1-20 13:44
标题:
SAX解析xml的步骤
本帖最后由 从黑到白的马 于 2016-1-20 13:46 编辑
很高兴又和大家分享了
[qq]451704940[/qq]
[1] 先构建工厂
SAXParserFactory saxParserFactory = SAXParserFactory.
newInstance
();
[2] 通过工厂获取sax实例
SAXParser saxParser = saxParserFactory.newSAXParser();
[2.1]准备事件处理器
(注意:此处也可以使用匿名内部类:new DefaultHander(){})
//定义事件的处理器
class MyDefaultHandler extends DefaultHandler{
// 接收文档开始的通知。
@Override
public void startDocument() throws SAXException {
super.startDocument();
System.out.println("文档开始");
}
// 接收元素开始的通知。
@Override
public void startElement(String uri, String localName, String qName,
Attributes attributes) throws SAXException {
super.startElement(uri, localName, qName, attributes);
System.out.println("startElement");
}
//接收元素中字符(文本)数据的通知
@Override
public void characters(char[] ch, int start, int length)
throws SAXException {
super.characters(ch, start, length);
String content = new String(ch, start, length);
if (content!=null&&content.trim().length()>0) {
System.out.println("characters--文本"+content);
}
}
//接收元素结束的通知。
@Override
public void endElement(String uri, String localName, String qName)
throws SAXException {
super.endElement(uri, localName, qName);
System.out.println("endElement");
}
//接收文档结束的通知。
@Override
public void endDocument() throws SAXException {
super.endDocument();
System.out.println("文档结束");
}
}
复制代码
[3]开始解析xml
saxParser.parse(
"bookstore.xml"
,
new
MyDefaultHandler());
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2