XML
xml被用来进行数据传输、数据存储和数据配置。
xml是可标记扩展语言,
xml可以自定义标签,
xml被设计为具有自我描述性,
xml是W3C的推荐标准。
案例
<?xml version="1.0" encoding="UTF-8"?>
<pets>
<dog id="1001">
<name>旺财</name>
<age>3</age>
<sex>雄</sex>
</dog>
<dog id="1002">
<name>艾弗</name>
<age>3</age>
<sex>雄</sex>
</dog>
</pets>
语法
1.有开头必须有结尾,例:
<name>旺财</name> <!--正确--> <name>旺财 <!--错误-->
2.Xml语言严格区分大小写
<name>旺财</name> <!--正确--> <name>旺财<Name> <!--错误-->
3.相互嵌套要规则
<pet><name></name></pet> <!--正确--> <pet><name></pet></name> <!--错误-->
4.根元素只能一个
<pets> <pets>
<dog></dog> <dog></dog>
<dog></dog> </pets>
</pets> <!--正确--> <pets>
<dog></dog>
</pets> <!--错误-->
5.属性值必须加引号
<dog id="1001"> </dog> <!--正确--> <dog id=1001> </dog> <!--错误-->
6.特殊符号转义
< < 小于
> > 大于
& & 和号
' ' 单引号
" " 引号
<name>>aaa</name> --> <name>>aaa</name>
7.注释
<!--这里是xml的注释-->
Xml元素命名规范
1.元素是指标签开始到标签结束,可以包含文本或者其它元素和标签,元素也可以定义属性。
2.Xml元素不能以数字开头,不能包含空格,可以含字母、数字以及其他的字符。不建议以xml开头。(支持名称以xml开头)
Xml使用时尽量避免定义元素属性
元素属性可以理解为元素的附加信息,但是使用它有一些缺点:
属性无法包含多重的值(子元素可以)
属性无法描述树结构(子元素可以)
属性不易扩展(为未来的变化)
属性难以阅读和维护
Xml验证
语法正确的Xml为“形式良好"的Xml,通过DTD验证的Xml才为"合法"的Xml。
**DTD:**文档类型定义(Document Type Definition),可以存储在独立的文件中,也可以嵌入 XML 文档,引用 DTD 的 XML 文档将包含 <!DOCTYPE> 声明。
案例
<!DOCTYPE pets [ --声明根元素为 pets
<!ELEMENT pets (dogs)> --pets 元素下边出现一次dogs元素
<!ELEMENT dogs (dog*)> --dogs直接下级元素是dog,
--*表示dog出现0-n次,+表示1-n次
<!ELEMENT dog (name,health,love?)> --dog直接下元素依次name,health,love,?0-1
<!ATTLIST dog id CDATA #REQUIRED> --dog元素有id属性,是CDATA类型,必须出现#REQUIRED
<!ELEMENT name (#PCDATA)> --name 为#PCDATA数据类型
<!ELEMENT health (#PCDATA)>
<!ELEMENT love (#PCDATA)>
]> --内部DTD
<!DOCTYPE pets SYSTEM "DTD文件全名"> --外部引用DTD
<pets>
<dogs>
<dog id="1001">
<name></name>
<health></health>
<love></love>
</dog>
<dog id="1002">
</dog>
/<dogs>
工程公用DTD。(需要配置开发工具)
Schema
XML Schema 是基于 XML 的 DTD 替代者。
XML Schema 描述 XML 文档的结构。
XML Schema 语言也称作 XML Schema 定义(XML Schema Definition,XSD)。