XML介绍和用途
xml是Extensive Markup Language ,可扩展性标记语言,XML和html非常相似(这里还是建议先去了解一下html),都是使用编写标签,扩展名为.xml, 同时XML具有非常好的可读性。和htnl不同的是,XML的标签不存在预定义,而html存在大量预定义的标签。xml重在保存和传输数据,而html则用于显示信息。下面给出xml和html的代码对比
html:
<body>
<!---<a>为预定义标签,具有超链接的功能--->
<a href="index.html">首页</a>
<body>
xml:
<school>
<class no="G3C1">
<grade>三年级</grade>
<class>一班</class>
</class>
</school>
XML的用途如下:
- java程序的配置描述符
-
用于保存程序产生的数据
- 网络间数据传输
XML文档结构
- 第一行必须为XML声明
XML声明说明XML文档的基本信息,包括版本好和字符集,写在XML第一行
- 有且只有一个根节点
- XML标签的书写规则与HTML相同
XML语法规则
- 合法标签名
标签名要有意义,建议使用英文小写字母,单词之间使用“-”分割,建议多级标签(比如父标签和字标签)之间不要使用重名
- 适当的注释和缩进
就是为了方便阅读和维护
- 合理使用属性
多个同类标签可以使用属性
- 特殊字符与CDATA标签
标签体中,出现“<”,">"特殊字符,会破坏文档结构,比如
解决办法一 实体引用:
上面的xml就可以写成:
解决办法二 使用CDATA:
对于大量出现的特殊字符,可以使用CDATA标签。书写格式为“<![CDATA[文本]]>”,文本部分xml不会对其进行解析,如:
<body>部分以及上面的那段话就不会被解析,直接输出
- 有序子元素
相同子元素使用的标签应保持一致,为了可读性更好一点
XML语义约束
XML文档结构正确但是不一定有效,比如在员工档案中就不能出现“植物品种”标签,这是不符合语义的,XML语义约束有两种方式:DTD和XML Schema
- DTD Document Type Definition 文档类型定义
DTD是一种简易的语义约束方式,通常以单独的文件出现,其扩展名为.dtd
<!ELEMENT> 标签定义XML文档中允许出现的节点和数量,例如:
如果需要有多个子节点,则在子节点之后增加相应的描述符:
在XML中使用<!DOCTYPE>标签来引用DTD文件
XML Schema
xml schema 比DTD更为复杂更为严谨,提供了更多功能(例如:数据类型,格式限定,数据范围等),是W3C标准,XML的语法规则比较复杂,但是思路很简单,详情参见此