这里写目录标题
- 1.XML
- 2.1 XML中的转义字符
- 2.2 CDATA区
- 2.3 如何去约束XMl:DTD
- 2.3.1 xml文件内部引用DTD约束
- 2.3.2 xml文件引用外部DTD约束
- 2.3.3 xml文件引用公共DTD约束
1.XML
- xml的文件后缀名是.xml
- xml有且只有一个根标签
- xml的标签是尖括号包裹关键字成对出现的,有开始标签有结束标签,关键字是自定义的, xml也可以有空标签/自关闭标签
- xml允许有属性,属性也是根据需要自定义的,属性格式:属性=“属性值”,多个属性之间使用空格隔开
- xml是区分大小写的
<?xml version="1.0" encoding="UTF-8" ?>
<store> <!-- xml有且只有一个根标签 -->
<product category="手机数码">
<pid>100</pid>
<pname>华为手机</pname>
<price>300</price>
</product>
<product category="电脑办公">
<pid>200</pid>
<pname>三星笔记本</pname>
<price>5000</price>
</product>
<product category="大型家电">
<pid>300</pid>
<pname>海尔洗衣机</pname>
<price>4000</price>
</product>
</store>
xml的组成:
- 文档声明:
<?xml version="1.0" encoding="UTF-8" ?>
- 根标签,例如:
<store>
- 其他标签,例如:
<pname>
- 属性,例如:
category="大型家电"
- 文本,例如:
华为手机
- 注释,例如:
<!-- xml有且只有一个根标签 -->
2.1 XML中的转义字符
因为很多符号已经被XML文档结构所使用,所以在元素体或属性值中想使用这些符号就必须使用转义字符,例如:“<”、“>”、“’”、“””、“&”。
<?xml version="1.0" encoding="UTF-8"?>
<exams>
<exam>
<subject>测试Java基础</subject>
<category>判断题</category>
<question><活着>书籍是否为Java高级程序员必读书籍?</question>
</exam>
</exams>
2.2 CDATA区
所有 XML 文档中的文本均会被解析器解析,只有 CDATA 区段(CDATA section)中的文本会被解析器忽略。
语法:
<![CDATA[
任意内容
]]>
例子:
2.3 如何去约束XMl:DTD
XMl的标签都是自定义,ml在作为框架配置时不能很好的规范开发者书写,所以要使用约束告知开发者怎去配置一个xml.
XML的约束有两种:
-
DTD约束
文档类型定义(Document Type Definition)是一套为了进行程序间的数据交换而建立的关于标记符的语法规则。它是标准通用标记语言和[1] 可扩展标记语言1.0版规格的一部分,文档可根据某种DTD语法规则验证格式是否符合此规则。 -
Schema约束
可扩展标记语言架构是以可扩展标记语言为基础的,它用于可替代文档类型定义(外语缩写: DTD);一份XML schema文件描述了可扩展标记语言文档的结构。
2.3.1 xml文件内部引用DTD约束
1.内部DTD,在XML文档内部嵌入DTD,只对当前XML有效。
<?xml version="1.0" encoding="utf-8" ?>
<!DOCTYPE 根元素名 [
... //具体的语法
]>
<?xml version="1.0" encoding="UTF-8"?>
<!-- 内部 DTD 约束 -->
<!DOCTYPE books[
<!ELEMENT books (book+)>
<!ELEMENT book (name, price)>
<!ELEMENT name (#PCDATA)>
<!ELEMENT price (#PCDATA)>
<!ATTLIST book author CDATA #REQUIRED> <!-- #IMPLIED 可选 -->
]>
<books>
<book author="张三丰">
<name>Java从入门到放弃</name>
<price>998</price>
</book>
<book author="灭绝师太">
<name>Java编程思想</name>
<price>99</price>
</book>
</books>
2.3.2 xml文件引用外部DTD约束
外部DTD—本地DTD,DTD文档在本地系统上,公司内部自己项目使用。
<?xml version="1.0" encoding="utf-8" ?>
<!DOCTYPE 根元素名 SYSTEM "文件名.dtd">
2.3.3 xml文件引用公共DTD约束
外部DTD—公共DTD,DTD文档在网络上,一般都由框架提供。
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE 根元素名 PUBLIC "-//SPRING//DTD BEAN 2.0//EN"
"http://www.springframework.org/dtd/spring-beans-2.0.dtd">