开启掘金成长之旅!这是我参与「掘金日新计划 · 12 月更文挑战」的第4天,点击查看活动详情
1.xml文件
-
XML全称是Extensible Markup Language,是一种可扩展的标记语言,使用标签来描述数据,并且标签可以自定义
-
作用是存储、传输数据或者用于软件配置文件
-
xml标签
- 标签由尖括号和合法标识符组成
- 标签必须成对出现,有些特殊的标签不成对但是必须有结束标记,如
<student></student>
、</adderss>
- 标签中可以定义属性,属性和标签名用空格隔开,属性值需要用双引号引起来,如
<student id="1"></student>
- 一个xml文件有且仅有一个根标签,标签需要正确嵌套
-
语法规则
-
文件后缀名是 .xml
-
文档声明必须是文件第一行第一列,格式如下
<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
version属性:必选的
encoding属性:可选的,指定打开该文件时使用的字符编码表,一般是UTF-8
standalone属性:可选的,指定该xml文件是否依赖其他的的xml文件,取值为yes/no
-
xml文件中的注释语法是
<!--注释信息-->
-
五种特殊字符的表示
xml中的表示 字符 说明 < < 小于号 > 大于号 & & 与号 ' '' 单引号 " "" 双引号 -
xml文件中的CDATA区,语法是
<![CDATA[内容]]>
内容部分只会被当作文本看待
-
DOM解析思想
-
DOM(Document Object Model)是文档对象模型,将文档各个部分看成对应的对象
-
将xml文件加载到内存中,形成一个树形结构,再获取对应的值
-
范例
<?xml version="1.0" encoding="UTF-8" ?> <students> <student id="1"> <name>张三</name> <age>18</age> </student> <student id="2"> <name>李四</name> <age>20</age> </student> </students>
该文档的树结构为
-
-
Document对象:表示整个文档 Element对象:表示所有的标签 Attribute对象:表示所有属性 Text对象:表示所有文本内容
- 常用xml解析工具:DOM4J,需引入jar包
2.约束
-
约束用于限定xml文件中可以使用的标签以及属性
-
DTD约束
-
引入DTD约束的方式
-
引入本地DTD
<!DOCTYPE 根元素名称 SYSTEM 'DTD文件路径'>
-
在xml文件内部引入
<!DOCTYPE 根元素名称 [DTD文件内容]>
-
引入网络中的DTD
<!DOCTYPE 根元素名称 PUBLIC "DTD文件名称" "DTD文档的URL">
-
-
DTD文档中语法规则
-
定义元素
语法:
<!ELEMENT 元素名 元素类型>
元素类型分为简单元素,复杂元素
-
简单元素取值可以是:
EMPTY
、ANY
、PCDATA
,分别表示标签体为空、可以为空可以不为空、元素内容部分为字符串 -
复杂元素则需要将该元素中的所有元素列出,规则是:
多个元素使用
,
或|
隔开,,
表示定义子元素的顺序,|
表示子元素只能出现任意一个在子元素后面使用
?
,+
,*
分别可以指定子元素出现的次数是零次或一次,一次或多次,零次或多次如果不写则表示一次
范例:
<!ELEMENT students (student+)> <!ELEMENT student (name,age)> <!ELEMENT name (#PCDATA)> <!ELEMENT age (#PCDATA)>
-
-
定义属性
语法:
<!ATTLIST 元素名称 属性名称 属性类型 属性约束>
元素名称:指出该属性属于哪个元素
属性名称:指出属性的名称
属性类型:
CDATA
表示普通的字符串属性约束:有三个常用取值
REQUIRED
、IMPLIED
、FIXED value
,分别表示必需的、非必需的、固定值的(value是指出的固定值)范例:
<!ATTLIST student id CDATA #REQIRED>
-
-
-
schema约束
- 内容仅仅了解,没做总结