[XML]学习笔记DOM
Posted CristianoJason
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[XML]学习笔记DOM相关的知识,希望对你有一定的参考价值。
DOM是一个使程序和脚本有能力动态的访问和更新文档的内容、结构以及样式的平台和语言中立的接口,主要被分为三个不同的部分:核心DOM、XML DOM和html DOM。http://www.w3school.com.cn/xmldom/dom_intro.asp
一、JAXP接口(Java API for XMLParsing)
a) org.w3c.dom W3C推荐的用于XML标准规划文档对象模型的接口。
b) org.xml.sax 用于对XML进行语法分析的事件驱动的XML简单API(SAX)。
c) javax.xml.parsers解析器工厂工具,程序员获得并配置特殊的特殊语法分析器。
二、这三个包在jdk中都有
三、XML DOM的主要用途:
XML DOM(Document Object Model)即XML文档对象模型,它定义了访问和处理XML文档的标准方法,或者说XML DOM是用于获取、更改、添加或删除XML元素的标准。
主要应用于:
1) 在需要修改XML文档的内容、结构和顺序时;
2) 需要多次遍历XML文档时;
3) 归并多个XML文档时;
4) 对XML内容做复杂操作。
DOM的工作流程:
DOM解析器将整篇的XML文档加载到内存中,并以树的形式保存,含有丰富的API,所有对象在DOM中都被看作是Node/节点。
四、XML DOM解析的基本步骤:
a) 应用程序生成DOM解析器
b) 解析器加载XML
c) 解析器向应用程序返回错误信息
d) 解析器生成DOM树
e) 应用程序读写DOM树
f) 应用程序将DOM树转化为XML文档输出
五、DOM树:
a) 抽象的:
b) 真实的:
六、XML DOM常用节点
DOM规定,XML文档中的每个成分都是一个节点
a) Document——整个文档为一个文档节点documentElement,代表整个文档,只有一个元素子节点root,但可以有多个其它类型的子节点;
而DocumentFragment表示一个XML片段,用于修改DOM树、截取与合并XML片段。
b) Element——每个XML标签为一个元素节点;
c) Text——包含在XML元素中的文本是文本节点;注意文本总是存储在文本节点中,元素节点不包含文本,元素节点的文本也是存储在文本节点中的,如<name>CHZH<name>,CHZH不是name的值,而是name拥有一个值为CHZH的文本节点。
d) Attr——每个XML属性是一个属性节点,注意属性节点和元素节点不存在父子关系;
e) 注释属于注释节点。
七、解析XML DOM
f) 如下面的javascript片段将books.xml载入了解析器:
xmlDoc=newActiveXObject("Microsoft.XMLDOM"); #创建空的微软XML文档对象
<!--xmlDoc=document.implementation.createDocument("","",null) --> #创建Firefox或其他浏览器中的空的XML文档对象
xmlDoc.async="false";#关闭异步加载,确保在文档加载完整前解析器不会继续执行脚本
xmlDoc.load("books.xml");#加载books.xml
以上是关于[XML]学习笔记DOM的主要内容,如果未能解决你的问题,请参考以下文章