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、属性定义

语法

扫描二维码关注公众号,回复: 13013721 查看本文章
<!ATTLIST 元素名称 元素类型 元素值>

设置说明

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

属性类型

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

CDATA案例

四、XML文件Schema约束

(一)Schema和DTD的区别

区别:

Schema DTD
文件后缀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文件都是直接复制引入就可以,只要了解简单的语法规范就可以

猜你喜欢

转载自blog.csdn.net/weixin_44676935/article/details/104789719