XML语法基础语法

一、 XML概述

  • XML可扩展标记语言:在XML里面的标记是可以扩展的。
  • XML用途:
    1. 存储数据
    2. 作为系统与系统之间的传输数据的格式
    3. 作为项目的配置文件
    4. 保存有结构关系型的数据
  • xml与html的比较:
    1. xml文档的标记可以随意扩展,html的标记是预定义好的。
    2. xml区分大小写,html不区分大小写
    3. html主要是用来显示数据的,xml是用来保存数据的。
    4. html中,空格会自动过滤,而xml不会
    5. html中可以有多个根节点,在xml里面只有一个。

二、具体语法

(一)、XML文档声明
语法: <?xml version="1.0" encoding="UTF-8" standalone="yes"?>

属性:

  • version:用来表示XML的版本号
  • encoding:指定XML编码格式
  • standalone:用来表示XML文件是否依赖外部的文件

注意:xml的文档声明一定放在第一行,第一列。

(二)、XML元素定义
语法: <元素名></元素>
(三)、属性定义
语法: <元素名 属性="属性值" 属性2="属性值2"></元素>
(四)、注释
语法:<!-- 这是一条注释-->
(五)、XML书写注意事项
  • xml是区分大小写的
  • xml的标记不能以数字或者_下划线开头。
  • xml的标记不能以xml开头

三、XML文件DTD约束

约束:在xml文档中,可以通过一个文件来约束文档中的内容规范,这里的规范就是约束。

(一)、书写约束文件
<!ELEMENT 元素名称>
<!ELEMENT 书架 (书+)>
	<!ELEMENT  (书名,作者,价格)>
	<!ELEMENT 书名 (#PCDATA)>
	<!ELEMENT 作者 (#PCDATA)>
	<!ELEMENT 价格 (#PCDATA)>
(二)、约束文件引入语法
<!-- 第一种 内嵌式  -->
<!ELEMENT 书架 (书+)>
	<!ELEMENT  (书名,作者,价格)>
	<!ELEMENT 书名 (#PCDATA)>
	<!ELEMENT 作者 (#PCDATA)>
	<!ELEMENT 价格 (#PCDATA)>
<!-- 第二种 外联式 -->
	<!-- 引入本地DTD文件 -->
	<!DOCTYPE 根元素名称 SYSTEM "本地文件地址">
	<!-- 引入公共DTD文件 -->
	<!DOCTYPE 根元素名称 PUBLIC "dtd名称" "本地文件地址">
(三)、案例演示

创建book.dtd约束文件

<!ELEMENT  (书名,作者,价格)>
	<!ELEMENT 书名 (#PCDATA)>
	<!ELEMENT 作者 (#PCDATA)>
	<!ELEMENT 价格 (#PCDATA)>

引入book.dtd

<?xml version="1.0" encoding="UTF-8"?>
<!--  -->
<!DOCTYPE 书架 SYSTEM "book.dtd">
<书架>
	<>
		<书名>JavaWeb</书名>
		<作者>某某</作者>
		<价格>23</价格>
	</>
	<>
		<书名>JavaWeb</书名>
		<作者>某某</作者>
		<价格>23</价格>
	</>
</书架>
(四)、DTD具体语法
1、元素定义

基本语法:

<!ELEMENT 元素名称 元素内容>

元素内容:

设置说明含义
PCDATA表示元素中嵌套的内容是普通文本
子元素说明元素包含元素比如:(元素1,元素2,…)
混合内容表示元素既可以包含字符与数据,也可以包含子元素
EMPYTY表示元素不包含字符数据,也不包含子元素
ANY表示元素可以包含任何的字符数据,也可已包含子元素

内容中符号含义

符号具体含义
问号[?]表示该对象可以出现0次或1次
星号[*]表示该对象可以出现0次或多次
加号[+]表示该对象可以出现1次或多次
竖线表示在列中的对象选择1个
逗号[,]表示对象必须按照顺序出现
括号[()]用于给元素进行分组
2、属性定义

语法

<!ATTLIST 元素名称 元素类型 元素值>

设置说明

设置说明含义
#REQUIRED表示与元素的该属性是必须的
#IMLIED表示元素可以包含该属性,也可以不包含
#FIXED表示一个固定的默认值

属性类型

属性类型含义说明
CDATA表明属性类型式字符数据,和#PCDATA相同
Enumerated枚举类型,在声明属性时,可以限制属性的取值可以从一个列表中选择.
ID一个类型的属性用于唯一的表示xml文档元素.

CDATA案例

四、XML文件Schema约束

(一)Schema和DTD的区别

区别:

SchemaDTD
文件后缀xsd文件后缀dtd
(二)名称空间

名称空间的作用就是用来在xml文档中引入Schema文件的,但是在一个xml’文件里可以引入多个schena文件,就可以使用名称空间来区分不同的约束文件

(三)引入Schema文档
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
targetNamespace="http://www.w3schools.com"
xmlns="http://www.w3schools.com"
elementFormDefault="qualified">
五、总结

现在我们在实际应用中很少有机会去自己书写xml文件都是直接复制引入就可以,只要了解简单的语法规范就可以

  • 2
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值