XML
是什么
**XML(Extensible Markup Language)**可拓展标记语言
做什么
如何做数据持久化
-
1.使用文件
-
properties文件 键值对
-
普通文件 序列化
-
-
2.使用数据库
<Letter language='en'>
<To alise="dear" sex="男">Money</To>
<Content>
<Hello></Hello>
<Info>ilikeyou</Info>
</Conent>
<From alise="your" sex="女">Honey</From>
<Date>
<Month>aug</Month>
<Day></Day>
<Week_Day>
<name></name>
<count></count>
</Week_Day>
</Date>
</Letter>
XML的语法规则
文档声明
xml的语法一般写在后缀名为xml的文件里
<?XML version="1.0" encoding="utf-8"?>
必须放在xml文件的第一行
注释
<!--注释的内容-->
元素(Element)
也叫节点(Node),标签
语法:文本内容
起名规则:
- 不能以数字和某些字符开头的,有意义的,简短的英文字符
- 可以使用任意字符和标点符号,要求确认软件是否支持该字符
- 不能用的特殊字符:<,&,>,",’,需要别的方式转义
- 大小写敏感
- 不推荐是一个"-",".",":"来作为单词之间的连接,容易出现歧义,推荐使用下划线_
特点:
- 根元素有且只有一个
- 元素的标签必须成对出现,
- 标签可以嵌套,但不允许交叉嵌套
属性(Attribute)
属性一般写在标签的内部,结构为属性名=“属性值”,多个属性可以用空格隔开,单引号和双引号都可以.
实体
语法:&实体的名字
使用方式
实体 | 字符 | 简介 |
---|---|---|
< | < | Less than |
> | > | Greather than |
& | & | mpersand |
\apos; | ’ | Apostorphe |
" | " | Quotation |
-
2.自己定义实体
<!DOCTYPE 根元素名称[ <!ENTITY 实体名 实体内容> ]>
CDATA
XML约束
DTD约束
-
约束元素
<!ELEMENT 元素名 (内容模式)>EMPTY:元素不能包含子元素和文本(空元素)
(#PCDATA):可以包含任何字符数据,但是不能在其中包含任何子元素
ANY:元素内容为任意的,主要是使用在元素内容不确定的情况下
|:在列出的元素中选择一个
+:最少出现一次
*:任意次(包括0次)
?:0到一次
,:对象必须按指定的顺序出现
默认修饰符就是什么元素都不加,表示元素能且只能出现一次
-
约束属性
<!ATTLIST 元素名称 属性名称 属性类型 属性特点>- 属性类型
CDATA:属性可以是任何字符
ID:属性值必须唯一,属性值必须满足xml命名规则
IDREF:属性的值指向文档中其他地方声明的ID类型的值
IDREFS:同IDREF,但是可以具有由空格分开的多个引用
enumerated:(枚举值1|枚举值2|枚举值3…)属性值必须在枚举值中
- 属性特点
#REQUIRED:元素的所有实例都必须有该属性
#IMPLIED:属性可以不出现
default-value:属性可以不出现,并且当他不出现的时候是有默认值的,而该默认值是attribute-value
#FIXED:属性可以不出现,但是如果出现的话必须是指定的属性值
-
引入外部DTD文件
- 引入内部DTD文件 SYSTEM
- 引入外部DTD文件 PUBLIC