1.首先了解什么是XML?
XML是Extensible Markup Language的缩写,是一种类HTML的可扩展标记语言,它的设计宗旨是传输数据,而不是显示数据,XML标签没有被预定义,可以自定义标签。
2.XML与HTML的区别?
XML 被设计为传输和存储数据,其焦点是数据的内容。
HTML 被设计用来显示数据,其焦点是数据的外观。
HTML 旨在显示信息,而 XML 旨在传输信息。
3.XML数据库是一种支持对XML格式文档进行存储和查询等操作的数据管理系统。
<lib = "YDDB">
<au = "WY">
<age>18</age>
</au>
<au = "ZCM">
<age>17</age>
<brother = "WY"></brother>
</lib>
这就可以是一个XML文档,它是半结构化数据,可以解析成树模型:,我们对这种树模型编码,有两种方式。
第一种:
就是根节点编号为0,对节点的孩子先从0开始编号,最终编码为从根节点到该节点路径上编号组合。
第二中:
就是先进行先序遍历,对顶点编号,最终编码为从根节点到该节点路径上的编号组合。
两种编码方式,第二种要好,因为第一种对一个给定编号的值不能确定到具体节点,比如给定编号1,我们不能确定是树中哪一个节点;而第二种方式对一个给定编号可以确定到具体,比如给定编号1,就是指的编码为0.1这个节点。
编码的过程就是对XML文档的解析过程,解析后为倒排索引。
sql关系数据库的索引是B+树,XML数据库的索引就是倒排索引。
XML数据查询有两种方式:
1.X query,这是一种类似SQL查询语句的查询,虽然精度要高,但是需要用户掌握一定的查询语言。
2.关键字查询,这种查询适应广,对用户没专业要求,使用简单。
XML文档解析方式主要有两种:DOM和SAX。