本文向大家简单介绍一下XML DOM,XML DOM是XMLDocumentObjectModel的缩写,即XML文档对象模型,相信本文介绍一定会让你有所收获。
XML DOM
XML DOM定义了访问和处理XML文档的标准方法。
XML DOM是XMLDocumentObjectModel的缩写,即XML文档对象模型。
一、DOM简介
什么是DOM?
DOM是W3C(万维网联盟)的推荐标准。
DOM定义了访问诸如XML和XHTML文档的标准。
“W3C文档对象模型(DOM)是一个使程序和脚本有能力动态地访问和更新文档的内容、结构以及样式的平台和语言中立的接口。”
W3CDOM被分为3个不同的部分/级别(parts/levels):
核心DOM
用于任何结构化文档的标准模型
XML DOM
用于XML文档的标准模型
HTML DOM
用于HTML文档的标准模型
DOM定义了所有文档元素的对象和属性,以及访问它们的方法(接口)。
什么是HTML DOM?
HTML DOM定义了所有HTML元素的对象和属性,以及访问它们的方法(接口)。
什么是XML DOM?
XML DOM是:
用于XML的标准对象模型
用于XML的标准编程接口
中立于平台和语言
W3C的标准
XML DOM定义了所有XML元素的对象和属性,以及访问它们的方法(接口)。
换句话说:
XML DOM是用于获取、更改、添加或删除XML元素的标准。
二、XML DOM节点
文档中的每个成分都是一个节点。
节点
根据DOM,XML文档中的每个成分都是一个节点。
DOM是这样规定的:
整个文档是一个文档节点
每个XML标签是一个元素节点
包含在XML元素中的文本
DOM实例
请看下面的XML文件(books.xml):
======================================
- <?xmlversionxmlversion="1.0"encoding="ISO-8859-1"?>
- <bookstore>
- <bookcategorybookcategory="COOKING">
- <titlelangtitlelang="en">EverydayItalian</title>
- <author>GiadaDeLaurentiis</author>
- <year>2005</year>
- <price>30.00</price>
- </book>
- <bookcategorybookcategory="CHILDREN">
- <titlelangtitlelang="en">HarryPotter</title>
- <author>JK.Rowling</author>
- <year>2005</year>
- <price>29.99</price>
- </book>
- <bookcategorybookcategory="WEB">
- <titlelangtitlelang="en">XQueryKickStart</title>
- <author>JamesMcGovern</author>
- <author>PerBothner</author>
- <author>KurtCagle</author>
- <author>JamesLinn</author>
- <author>VaidyanathanNagarajan</author>
- <year>2003</year>
- <price>49.99</price>
- </book>
- <bookcategorybookcategory="WEB">
- <titlelangtitlelang="en">LearningXML</title>
- <author>ErikT.Ray</author>
- <year>2003</year>
- <price>39.95</price>
- </book>
- </bookstore>
======================================
在上面的XML中,根节点是<bookstore>。文档中的所有其他节点都被包含在<bookstore>中。
根节点<bookstore>有四个<book>节点。
***个<book>节点有四个节点:<title>,<author>,<year>以及<price>,其中每个节点都包含一个文本节点,"EverydayItalian","GiadaDeLaurentiis","2005"以及"30.00"。
文本总是存储在文本节点中
在DOM处理中一个普遍的错误是,认为元素节点包含文本。
不过,元素节点的文本是存储在文本节点中的。
在这个例子中:<year>2005</year>,元素节点<year>,拥有一个值为"2005"的文本节点。
"2005"不是<year>元素的值!
【编辑推荐】