XML(Extensible Markup Language)
特点、
-
XML与操作系统、编程语言的开发平台无关
-
实现不同系统之间的数据交换
作用
数据交互
配置应用程序和网站
Ajax基石
标签编写注意事项
- 所有XML元素都必须有结束标签
- XML标签对大小写敏感
- 必须有正确的嵌套
- 同级标签缩进对齐
- 元素名称可以包含字母,数字或其他字符,不能以数字或标点符号开始
- 元素名称中不能含空格
XML转义字符表
符号 | 转义符 |
---|---|
< | & lt; |
> | & gt; |
" | & quot; |
’ | & apos; |
& | & amp; |
当元素中出现很多特殊字符时,可以使用CDATA
1.扩展性
2.语义,数据表示,存储,交互
通过约定----进行约束----数据交换
DTD | Schame
?:0或1
*:任意个 == 0或多个
+:至少一个 1或多个
|:或者
ANY
EMPTY
<!--声明-->
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE 公司 [
<!ELEMENT 公司 (研发部,人事部)>
<!ELEMENT 研发部 (项目经理,员工)>
<!ELEMENT 人事部 (部门经理,员工)>
<!ELEMENT 部门经理 (#PCDATA)>
<!ELEMENT 项目经理 (#PCDATA)>
<!ELEMENT 员工 (#PCDATA)>
]>
<!--
<!DOCTYPE 公司 [
<!ELEMENT 公司 (研发部,人事部)>
<!ELEMENT 研发部 (项目经理?,员工*,场地)>
<!ELEMENT 人事部 (部门经理,员工+,联系方式)>
<!ELEMENT 部门经理 (#PCDATA)>
<!ELEMENT 项目经理 (#PCDATA)>
<!ELEMENT 员工 (#PCDATA)>
<!ELEMENT 联系方式 (电话|QQ)>
<!ELEMENT 电话 (#PCDATA)>
<!ELEMENT QQ (#PCDATA)>
<!ELEMENT 场地 ANY>
<!ELEMENT 负责人 EMPTY>
]>
-->
<!--树形结构:一个根节点-->
<公司>
<研发部>
<项目经理>周瑜</项目经理>
<员工>黄盖</员工>
</研发部>
<人事部>
<部门经理>曹操</部门经理>
<员工>司马懿</员工>
</人事部>
</公司>
XML文档内容由一系列标签元素组成
-属性值由" "包裹
-一个元素可以有多个属性
-属性值不能直接包含 < " &...
demo03.dtd
<?xml version="1.0" encoding="UTF-8"?>
<!ELEMENT 公司 (研发部,人事部)>
<!ELEMENT 研发部 (项目经理?,员工*,场地)>
<!ELEMENT 人事部 (部门经理,员工+,联系方式)>
<!ELEMENT 部门经理 (#PCDATA)>
<!ELEMENT 项目经理 (#PCDATA)>
<!ELEMENT 员工 (#PCDATA)>
<!ELEMENT 联系方式 (电话|QQ)>
<!ELEMENT 电话 (#PCDATA)>
<!ELEMENT QQ (#PCDATA)>
<!ELEMENT 场地 ANY>
<!ELEMENT 负责人 EMPTY>
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE 公司 SYSTEM "demo03.dtd">
<公司>
<研发部>
<项目经理>周瑜</项目经理>
<员工>黄盖</员工>
<场地>
<负责人/>
</场地>
</研发部>
<人事部>
<部门经理>曹操</部门经理>
<员工>司马懿</员工>
<员工>司马懿</员工>
<联系方式>
<电话>12333333</电话>
</联系方式>
</人事部>
</公司>
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE books [
<!ELEMENT books (author*,book*)>
<!ELEMENT book (name,price?,img?)>
<!ELEMENT name (#PCDATA)>
<!ELEMENT price (#PCDATA)>
<!ELEMENT img EMPTY>
<!ELEMENT author EMPTY>
<!ATTLIST book
ISBN CDATA "1008"
press (清华大学出版社|宝鸡大学出版社) "宝鸡大学出版社"
id ID #REQUIRED
auth IDREF #IMPLIED
>
<!ATTLIST img
src CDATA #REQUIRED
width CDATA #IMPLIED
height CDATA #FIXED "200"
>
<!ATTLIST author
name ID #REQUIRED
>
]>
<!-- #REQUIRED 必填
#IMPLIED 可有可无
#FIXED 默认 必须是指定的固定值
ID 唯一,赋值规范。不能数字开头
IDREF 引用其他ID类型取值
-->
<books>
<author name="张三"/>
<author name="李四"/>
<book id="s1001" press="清华大学出版社" auth="张三">
<name>Java实战应用</name>
<price>45</price>
<img src="3.jpg" height="200"/>
</book>
<book id="s1002">
<name></name>
</book>
<book id="s1003">
<name>Java实战应用</name>
<price>45</price>
</book>
</books>
#REQUIRED 必填
#IMPLIED 可有可无
#FIXED 默认 必须是指定的固定值
ID 唯一,赋值规范。不能数字开头
IDREF 引用其他ID类型取值
#PCDATA用于节点内容的描述
CDATA用于属性的描述
<xs:attribute name="id" type="xs:ID" use="required"/>
<xs:attribute name="auth" type="xs:IDREF"/>
属性唯一ID类型 type="xs:ID"