Java解析XML方式一般有两种,利用SAX解析和利用DOM解析,DOM解析是把整个XML文件当做一个树来存取,如果XML文件较大,那么用DOM解析的效率较低。

SAX解析是逐个tag解析xml,如果XML层次过深用SAX解析不是很方便,XML文件层次过深适用于DOM解析,jdk中提供了用SAX解析XML的工具

SAX解析xml步骤:

1、创建一个SAXParserFactory

SAXParserFactoryfactory=SAXParserFactory.newInstance();

XMLReaderreader=factory.newSAXParser().getXMLReader();

2XMLReader设置内容处理器

reader.setContentHandler(newMyContentHandler());

3开始解析文件

reader.parse(newInputSource(newStringReader(resultStr)));

resultStr为读取xml文件到一个String对象

4、在解析xml的类需要做的事:

1)继承DefaultHandler

publicclassMyContentHandlerextendsDefaultHandler

2)重载下列方法

startDocument()//开始解析XML时调用,仅仅调用一次

startElement()//解析tag时调用

characters()//解析tag中的属性

endElement()//tag解析完成后调用

endDocument()//结束解析XML时调用,仅仅调用一次