首页 | 旅游 | 健康 | 时尚 | 下载 | 论坛 | 图文 | 专题 | 地图
资讯 IT人 电脑入门 操作系统 上网 办公 技巧 硬件 软件 网络 图像 多媒体 程序 数据库 网页制作 网站开发 网游 安全 加密 企业

SAX解析XML

巧巧读书 2007-10-03 www.jspcn.net  技术论坛

  package simpleTest;

import org.xml.sax.Attributes;

import org.xml.sax.SAXException;

import org.xml.sax.Locator;

import org.xml.sax.ContentHandler;

import org.xml.sax.InputSource;

import org.xml.sax.helpers.DefaultHandler;

import java.io.IOException;

import javax.xml.parsers.SAXParser;

import javax.xml.parsers.SAXParserFactory;

class TestSAX extends DefaultHandler

{

private StringBuffer buf;

public TestSAX()

{

super();

}

public void setDocumentLocator(Locator locator)

{

}

public void startDocument() throws SAXException

{

buf=new StringBuffer();

System.out.println("*******开始解析文档*******");

}

public void endDocument() throws SAXException

{

System.out.println("*******文档解析结束*******");

}

public void startPrefixMapping( String prefix, String uri )

{

System.out.println(" 前缀映射: " + prefix +" 开始!"+ " 它的URI是:" + uri);

}

public void endPrefixMapping( String prefix )

{

System.out.println(" 前缀映射: "+prefix+" 结束!");

}

public void processingInstruction( String target, String instruction )

throws SAXException

{

}

public void ignorableWhitespace( char[] chars, int start, int length ) throws SAXException

{

}

public void skippedEntity( String name ) throws SAXException

{

}

public void startElement(String namespaceURI,String localName,String qName,Attributes atts)

{

System.out.println("*******开始解析元素*******");

System.out.println("元素名"+qName);

for(int i=0;i<atts.getLength();i++)

{

System.out.println("元素名"+atts.getLocalName(i)+"属性值"+atts.getValue(i));

}

}

public void endElement(String namespaceURI,String localName,String fullName )throws SAXException

{

System.out.println("******元素解析结束********");

}

public void characters( char[] chars, int start, int length )throws SAXException

{

//将元素内容累加到StringBuffer中

buf.append(chars,start,length);

}

public static void main(String args[])

{

try{

SAXParserFactory sf = SAXParserFactory.newInstance();

SAXParser sp = sf.newSAXParser();

TestSAX testsax=new TestSAX();

sp.parse(new InputSource("D:\test\simpleTest\classes\simpleTest\test.xml"),testsax);

}catch(IOException e)

{

e.printStackTrace();

}catch(SAXException e)

{

e.printStackTrace();

}catch(Exception e)

{

e.printStackTrace();

}

}

}

XML文件如下:

<?xml version="1.0" encoding="gb2312"?>

<row>

<person>

<name>王小明</name>

<college>信息学院</college>

<telephone>6258113</telephone>

<notes>男,1955年生,博士,95年调入海南大学</notes>

</person>

</row>
上一个话题:简析JAVA中的XML编程
下一个话题:FOR XML子句分析
本类最热图文
巧巧读书图文推荐
Google
巧巧电脑频道编辑信箱  告诉我们您想看的专题或文章