XML学习笔记(XML简介及DTD的使用)

一、XML

1.1XML简介

XML,eXtensible Markup Language,可扩展标记语言,是一种标记语言。
XML是一种灵活的语言,没有固定的标签,所有标签都可以自定义。
通常,XML被用于信息的记录和传递,常被用于充当配置文件。

1.2格式良好的XML

①声明信息,用于描述XML的版本和编码方式。
例:

<?xml version="1.0" encoding="UTF-8"?>

②XML有且仅有一个根元素。
例:

<scorse> </scorse>

③XML是大小写敏感的。
④标签是成对出现的,并且要正确嵌套。
⑤属性值要使用双引号。
⑥注释的写法 。

二、DTD

2.1DTD简介

①DTD,Document Type DEfinition,文档类型定义。
②DTD用于约束XML文档格式,保证XML是一个有效的XML。
③DTD可以分为内部DTD外部DTD

2.2 使用DTD

2.2.1 内部DTD

①内部DTD的定义

<!DOCTYPE 根元素 [元素声明]>
<!DOCTYPE scores [
	<!ELEMENT scores (student)>
	<!ELEMENT student (name,course,score)>
]>

②元素声明语法:

<!ELEMENT 元素名 (子元素,子元素,子元素...)>
<!ELEMENT student (name,course,score)>

③数量词:
+:表示出现1次或者多次(至少一次);
?:表示出现0次或1次;
*:任意次。

④属性声明语法:
属性类型:CDATA,表示字符数据(character data)
默认值:#REQUIRED 表示必须出现
#IMPLIED 表示不是必须的

<!ATTLIST 元素名称 属性名称 属性类型 默认值>
<!ATTLIST payment type CDATA "check">

⑤带DTD的完整XML代码:

scores.xml

<?xml version="1.0" encoding="UTF-8"?>
<!-- 声明内部DTD -->
<!DOCTYPE scores [
	<!ELEMENT scores (student+)>
	<!ELEMENT student (name,course,score)>
	<!ATTLIST student id CDATA #REQUIRED>
	
	<!--限制内部数据为文本使用‘PCDATA’-->
	<!ELEMENT name (#PCDATA)>
	<!ELEMENT course (#PCDATA)>
	<!ELEMENT score (#PCDATA)>
]>

<scores>
	<student id="1">
		<name>王同</name>
		<course>java</course>
		<score>89</score>
	</student>
	<student id="2">
		<name>李佳</name>
		<course>sql</course>
		<score>58</score>
	</student>
</scores>

(空格很关键,一定要注意!)

2.2.2 外部DTD

① 创建一个独立的DTD文件
scores.dtd

<!xml version="1.0" encoding="utf-8"?>
<!ELEMENT scorse (student+)>
<!ELEMENT student (name,course,score)>
<!ATTLIST student id CDATA #REQUTRED>
<!ELEMENT name (#PCDATA)>
<!ELEMENT course (#PCDATA)>
<!ELEMENT score (#PCDATA)>

② 引入外部DTD
在文件中加入:

<!DOCTYPE scorse SYSTEM "scores.dtd">
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值