开发者学堂课程【XML 入门:JAXP API 的查看】学习笔记,与课程紧密联系,让用户快速学习知识。
课程地址:https://developer.aliyun.com/learning/course/37/detail/849
JAXP API 的查看
内容简介:
一、XML 中的解析器
二、Jaxp 的 api 的查看
一、XML 中的解析器
解析 XML 技术,需要一个解析器
不同的公司和组织提供了针对 dom 和 sax 方式的解析器,通过 api 方式提供。
Tip:XML 解析技术概述
XML 解析方式分为两种:DOM 方式和 SAX 方式
DOM:Document Object Model,文档对象模型。这种方式是 W3C 推荐的处理XML 的一种方式。
SAX:Simple APl for XML。这种方式不是官方标准,属于开源社区 XML-DEV,几乎所有的 XML 解析器都支持它。
XM L解析开发包
JAXP:是 SUN 公司推出的解析标准实现。
Dom4J:是开源组织推出的解析开发包。(牛,大家都在用,包括 SUN 公司的一些技术的实现都在用)
JDom:是开源组织推出的解析开发包。
例:Sun 公司提供了针对 dom 和 sax 解析器叫做 jaxp
Dom4j 组织,针对 dom 和 sax 解析器 叫做 dom4j (实际中用的很多)
Jdom 组织,针对 dom 和 sax 解析器 叫做 jdom
二、Jaxp的api的查看
Tip:JAXP
JAXP:(Java AOI for XML Processing)开发包是 JavaSE 的一部分,它是由一下几个包及其子包组成:
org.w3c.dom:提供 DOM 方式解析 XML 的标准接口
org.xml.sax:提供 SAX 方式解析 XML 的标准接口
javax.xml:提供了解析 XML 文档的类
Javax.xml.parsers 包中,定义了几个工厂类。我们可以通过调用这些工厂类,得到对XML文档进行解析的 DOM 和 SAX 解析器对象。
DocumentBuliderFactory
SAXParserFactory
Jaxp 是 javase 的一部分
Jaxp 解析器在 jdk 的 javax.xml.parsers 包里面
在包里有四类:分别是针对 dom 和 sax 解析使用的类
Dom:
1、DocumentBuilder :解析器类
这个类是一个抽象类,不能 new。
此类的实例可以从DocumentBuilderFactory.newDocumentBuilder ()方法获取。
一个方法,可以解析 xml parse(“xml路径”)返回是 Document 整个文档(在 w3c 包里,返回接口是 Node)
返回的 Document 是一个接口,父节点是 Node,如果在 Document 里面找不到想要的方法,去 Node 里去找。
在 Document 里面方法 getElementsByTagName(String tagname)
这个方法可以得到标签返回集合 NodeList
createElement(String tagName)创建标签,createrTextNode(String date)创建文本,把文本添加在标签下面,removeChild(Node oldChild)删除节点,getParentNode()获取到父节点,
NodeList:getLength()得到集合的长度,item(int index)下标取到的具体的值
For(int i=0;i<list,getLength();i++) {
List,item(i)
}
2、DocumentBuilderFactory :解析器工厂
这个类一个抽象类,不能 new。
newinestance()获取 DocumentBuilderFactory 的实例。
Sax:
3、SAXParser :解析器类
4、SAXParserFactory :解析器工厂