[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的主要内容,如果未能解决你的问题,请参考以下文章

DOM解析器解析增删改学习笔记

XML学习笔记--dom4j操作XML

学习笔记关于DOM4J:使用DOM4J解析XML文档

Python学习笔记__12.10章 XML

xml增强学习笔记

DOM (JavaScript学习笔记)