XML
XML是一种可扩展的标记性语言。
标记语言: 通过标签来描述数据的一门语言。(标签有时候也称为元素)。
可扩展: 标签的名字是可以自定义的。
作用: 1.用于进行存储数据和传输数据
2.作为软件的配置文件
标签: 1. 由一堆尖括号和合法标识符组成 <Student>
2.标签必须成对出现 <Student> </Student>
3.特殊的标签可以不成对出现,但是必须要有结束标记 <address/>
4.标签中可以定义属性,属性和标签名空格隔开,属性值必须用引号引起来。 <Studene id = "10"> </Student>
5.标签必须要正确的嵌套。
--xml语法规则
1.XML文件的后缀一定是:xml
2.文档声明必须是第一行第一列
<?xml version = "1.0" encoding = "UTF-8" standalone = "yes" ?>
version : 该属性是必须存在的 必须是1.0
encoding:该属性不是必须存在的,打开xml用什么编码表,一般都是utf-8
standalone:该属性不是必须的,描述xml文件是否依赖其他的xml文件,取值”yes/no“
3. 必须存在根标签,有且只能有一个。
4. xml文件中可以定义注释信息
5. xml文件中可以存在以下特殊字符。
< < 小于
>; > 大于
& & 和号
' ' 单引号
&quat; " 引号
6. xml文件中可以存在CDATA区。
<![CDATA[...内容...]]>
–解析xml
Document对象 :整个XML文档。
Node对象
Element对象 : 所有标签。
Attribute对象 : 所有属性。
Test对象 : 所有文本内容。
--解析xml工具 DOM4J
文档约束
约束的分类:
DTD:
1.创建一个文件,这个文件的后缀名为.dtd。
2.看xml文件使用了哪些元素。<!ELEMENT>可以定义元素
3.判断元素是简单元素还是复杂元素。
简单元素:没有子元素。
复杂元素:有子元素的元素
引入DTD约束的三种方法
引入本地DTD <!DOCTYPE 根元素名称 SYSTEM ‘DTD文件的路径’>
在xml文件内部 <!DOCTYPE 根元素名称 [dtd文件内容]>
引入网络dtd <!DOCTYPE 根元素的名称 PUBLIC "DTD文件名称" "DTD文档的URL">
dtd语法格式:
![在这里插入图片描述](https://img-blog.csdnimg.cn/20210417185002460.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80NDA0ODU2Mg==,size_16,color_FFFFFF,t_70)
定义一个属性的格式: <!ATTLIST 元素名称 属性名称 属性的类型 属性的约束>
schema:
1.schema约束文件也是一个xml文件,符合xml的语法,这个文件的后缀名额外i.xsd
2.一个xml文件中可以引用多个schema约束文件,多个schema使用名称空间区分(名称空间类似于java包名)
3.dtd里元素类型的取值比较单一,常见的是PCDATA类型,但是在schama里面可以支持很多个数据类型。
4.schama的语法更加的复杂。
5.schema约束一个xml文件,同时也被其他文件约束着。