XML简介:是Extensible Markup Language的缩写,可扩展标记语言,是一种简单的存储语言,使用一系列的标记来描述结构化数据
XML的文档结构
1.XML声明:以下几个部分组成
version : 文档符合XML1.0规范
encoding : 文档字符编码,默认为UTF-8
对任何一个XML文档,其声明部分都是固定格式
2.标签
3.元素
命名规则如下:
名称中可以包含字母、数字或其他的字符
名称不能以数字或标点符号开始
名称不能以字符“XML”(或XML、Xml)开始
名称中不能包含空格
4.根元素:每个XML文档必须有且仅有一个根元素,如“<books></books>”
根元素的特点如下:
根元素是一个完全包含文档中其他所有元素的元素
根元素的起始标签要放在所有其他的起始标签之前
根元素的结束标签要放在所有其他元素的结束标签之后
5.属性
语法:
<元素名 属性名=“属性值”>
属性值用双引号包裹
6.XML中的特殊字符的处理
预定实体和特殊字符的对应关系:
特殊字符 | 实体名称 |
---|---|
< | < |
> | > |
& | & |
" | " |
' | ' |
语法:
<![CDATA[
要显示的字符
]]>
7.XML中的注释
语法:
<!-- 注释内容 -->
8.格式良好的XML文档
格式良好的XML文档需要遵循如下规则:
1.有XML声明语句
2.有且仅有一个根元素
3.标签大小写敏感
4.属性值用双引号包裹
5.标签成对/空标签关闭
6.元素正确嵌套
7.XML应用
9.XML的应用场景主要体现在以下几点
数据存储:XML与文件、数据库一样,都可以实现数据的持久化存储。XML极其简单,正是这点使XML与众不同。
数据交换
数据配置
解析XML概述
1.目前常用的XML解析技术
1.DOM:基于XML的树结构来完成解析,DOM解析XML文档时,会根据读取的文档,构建一个驻留内存的树结构,然后就可以使用DOM API来操作这个树结构。
2.SAX:基于事件的解析,它是为了解决DOM解析的资源消耗而出现的。
3.JDOM:是不针对语言的,而JDOM是针对Java的特定文档模型,它简化了与XML的交互并且比使用DOM更快。
4.DOM4J:用于在Java平台上使用Java集合框架处理XML、XPath和XSLT,并与DOM、SAX和JAXP完成集成。
2.使用DOM读取XML数据
DOM是Document Object Model的简称,即文档对象模型,DOM把XML文件映射成一棵倒挂的“树”,以根元素为根节点,每个节点都以对象形式存在。
使用DOM读取信息可以使用Oracle公司提供的JAXP来解析XML。JAXP包含3个包。这3个包都在JDK中,DOM解析使用到的类都在这此包中。
Org.w3c.dom:W3C推荐的用于使用DOM解析XML文档的接口
Org:xml:sax:用于使用SAX解析XML文档的接口
Java.xml.parsers:解析器工厂工具,获取并配置特殊的分析器
3.使用DOM解析XML时主要使用以下对象:
1.Node对象:DOM结构中基本的对象,代表了文档数中的一个抽象节点
2.NodeList对象:顾名思义,NodeList对象是指包含了一个或多个节点(Node)的列表。可以简单地把它看成一个Node数组,也可以通过方法来获取列表中的元素,NodeList对象的常的方法如下:
getLength():返回列表的长度
item(int index):返回指定位置的Node对象