XML
- xml是可扩展标记语言
- 类似于HTML,是一种标记语言
- xml设计宗旨是传输和存储数据
- xml需自行定义标签
- xml具有自我描述性
xml的优势
他能对各种编程语言编写的数据进行管理。在任何平台下都能通过解析器来读取内部数据。
xml语法
构成:
- 文档声明
- 元素标签
- 属性
- 注释
文档声明
最简单的文档声明:
<?xml version="1.0">
使用encoding属性说明文档的字符编码:
<?xml version="1.0" encoding="UTF-8">
xml的注释
<!-- -->
在xml中,空格会被保留。
创建xml
元素
元素是xml文档内容的基本单元。语法上,一个元素包括一个起始标记,一个结束标记以及标记之间的数据内容。
例:
<user></user>
元素中还可以嵌套别的元素。
xml文档中,仅有一个根元素,可以有多个子元素,允许出现空元素。
xml命名规则
- 名称可以含字母、数字以及其他的字符
- 名称不能以数字或者标点符号开始
- 名称不能以字符 “xml”(或者 XML、Xml)开始
- 名称不能包含空格
- 可使用任何名称,没有保留的字词。
xml语法规则
- 所有 XML 元素都须有关闭标签
- XML 标签对大小写敏感
- XML 必须正确地嵌套
- XML 文档必须有根元素
- XML 的属性值须加引号
实体引用
在 XML 中有 5 个预定义的实体引用:
- <小于
- >大于
- &和号
- &apos单引号
- "引号
属性
属性用来修饰元素。
<user>
<name attribute="受">"小马"</name>
</user>
需注意:
- 属性的值必须用括号括起来。
- 元素的属性以名和值成对出现。
- 用来修饰同一个元素的属性的属性名不能相同。
- 属性值不能包含"&"," ‘ “,”<"等字符。
例子
<?xml version="1.0" encoding=“utf-8"?>
<employees>
<employee>
<empID>1</empID>
<empName>张三</empName>
<empAddress>西安</empAddress>
</employee>
<employee>
<empID>2</empID>
<empName>王五</empName>
<empAddress>北京</empAddress>
</employee>
...
</employees>
xml约束
用来约束一个xml文档的书写规范,就是xml约束。
常用的约束技术
dtd约束:语法相对简单,功能也相对简单。学习成本低。
schema约束:语法相对复杂,功能也相对强大。学习成本相对高。
DTD约束
全程文档类新定义。
<!ELEMENT 书架 (书+)>
<!ELEMENT 书 (书名,作者,售价)>
<!ELEMENT 书名 (#PCDATA)>
<!ELEMENT 作者 (#PCDATA)>
<!ELEMENT 售价 (#PCDATA)>
<?xml version="1.0" ?>
<!DOCTYPE 书架 SYSTEM "book.dtd">
<书架>
<书>
<书名>Java就业培训教程</书名>
<作者>张孝祥</作者>
<售价>39.00元</售价>
</书>
<书>
<书名>JavaScript网页开发</书名>
<作者>张孝祥</作者>
<售价>28.00元</售价>
</书>
</书架>