DOM、SAX和JAXP解析
XML文档解析方式
DOM:Document Object Model:即文档对象模型,它是由W3C推荐的处理XML文档的规范
SAX:Simple API for XML,是整个XML行业的实施规范
XML文档解析原理
XML文档→XML解析器→解析结果
JAXP概述
Java即系XML文档的API称为JAXP,全称:Java API for XML
JAXP往往作为JDK的一部分发布,但它仅仅是一些API接口,并未提供真正的实现,因此实际使用过程中还需要具体的解析实现。
JAXP只是允许应用程序在 不同的XML解析器之间切换
JAXP的作用

JAXP提供的与解析相关的类
DocumentBuilderFactory:获取DOM解析工厂类
DocumentBbuilder:DOM解析器标准接口
SAXParserFactory:获取SAX解析器的工厂类
SAXParser:SAX解析器的标准接口
JAXP的SAX支持
SAX的处理机制
SAX采用事件机制方式来解析XML文档,这是一种快速读写XML数据的方式
JAXP对SAX的支持
使用SAX机制解析XML文档时,SAX解析器负责在XML文档中“行走”,每当遇到文档开始、元素开始、文本、元素结束和文档结束时,都将负责向外发送事件,而程序员负责提供监听器来监听这些事件,并通过事件获取XML文档信息

XML源→SAX解析器→事件→输出
DOM、SAX和JAXP解析
JAXP为SAX解析器提供两组API:
1.XMLReader和SMLReaderFacotroy:XMLReaderFactory工厂类的creadteXMLReader()静态方法用于创建SMLReader(了解即可)
2.SAXParser和SAXParserFactory:SAXParserFactory工厂类的newSAXParser()实例方法用于创建SAXParser

网友评论