DOM概念
1.简介
应用程序开发过程中,应用程序不是直接对XML文档进行操作的,而是首先由XML分析器对XML文档进行分析。
然后,应用程序通过XML分析器所提供的DOM接口或SAX接口对分析结果进行操作,从而间接地实现了对XML文档的访问。
2.作用
用于读取和操作 XML 文件的标准是文档对象模型DOM。
DOM为 XML 文档的已解析版本定义了一组接口。解析器读入整个文档,然后构建一个驻留内存的树结构,然后您的代码就可以使用 DOM 接口来操作这个树结构。您可以遍历树以了解原始文档包含了什么,您可以删除树的几个部分,还可以重新排列树和添加新的分支,等等。
遗憾的是,因为DOM 方法涉及读取整个文件并将该文件存储在一个树结构中,而这样可能是低效的、缓慢的,并且很消耗资源:
DOM 构建整个文档驻留内存的树。如果文档很大,就会要求有极大的内存。
DOM 创建表示原始文档中每个东西的对象,包括元素、文本、属性和空格。如果您只需关注原始文档的一小部分,那么创建那些永远不被使用的对象是极其浪费的。
DOM 解析器必须在您的代码取得控制权之前读取整个文档。对于非常大的文档,这会引起显著的延迟。
这些仅仅是由文档对象模型的设计引起的问题;撇开这些问题,DOM API 是解析 XML 文档非常有用的方法。
3. DOM模型结构
最常见的节点类型:
元素:元素是XML的基本构建。
元素可以有其他元素、文本节点或两者兼有来作为其子节点。
元素节点还是可以有属性的唯一类型的节点。
属性:属性节点包含关于元素节点的信息,但实际上,不认为它是元素的子节点。
文本:确切来讲,文本节点是文本。它可以包含许多信息或仅仅是空白。
文档(根节点) :文档节点是整个文档中所有其他节点的父节点。(根节点不等于根元素节点)。
较不常见的节点类型:CDATA、注释、处理指令。
参考资料:
https://www.cnblogs.com/huangyu/archive/2004/08/16/33934.html
https://www.cnblogs.com/mengdd/archive/2013/06/01/3112795.html