XML: 可扩展标记语言!
01.很像htm1
02.着重点是数据的保存
03.无需预编译
04.符合W3C标准
可扩展:我们可以自定义,完全按照自己的规则来!
标记:计算机所能认识的信息符号!
Int num=5;教材编号
01.文档声明 <?xml version="1.0" encoding="UTF-8"?>
02.元素<p></p>
03.属性<p id="haha"></p>
04.注释
05.特殊字符
06.CDATA区域在区域中的所有代码将不会执行,原样输出出来
注意点:
01.xm1文件中只能有一个根节点
02.节点要成对出现有开发和闭合
03.节点必须正确的嵌套
04.严格区分大小写
05.空格和换行都是特殊字符,会被解析器即诶
xm1,htm1都是一个类似于倒挂的树!
只有一个根节点,枝叶茂盛
我们把这个倒挂的树称之为=》dom树!
DOM:( Doucument Ob ject Mode1)文档对象模型!
CDATA语法:
<![CDATA[xml内容]]>
解析xm1文件的方式
01.DOM:基于xm1文档树结构的解析,把xm1文件中的内容都读取到内存中,比较占内存,消耗资源多!
02.SAX:基于事件的解析。消耗资源小!
03.JDOM:针对于java的特定模型!满足28原则!自身没有解析器,依赖于SAX2!
04.DOM4J:for(4)JDOM的一个分支!源码开放,性能优异,功能强大!
在这里补充一下DTD文件限制XML文件格式的一个东西
语法:
<!DOCTYPE 根元素 [元素声明]>
引用dtd文件的两种方式:
1.当引用的DTD文件是本地文件的时候,用SYSTEM标识,并写上”DTD的文件路径”,如下:
<!DOCTYPE 根元素 SYSTEM "DTD文件路径">
2.如果引用的DTD文件是一个公共的文件时,采用PUBLIC标识,如下方式:
<!DOCTYPE 根元素 PUBLIC "DTD名称" "DTD文件的URL">
修饰符的意思:
(1)():
用来给元素分组
(2) | :在列出的对象中选择一个,或者的意思
(3) + :
该对象必须出现一次或者多次
(4) * :该对象允许出现0次或者多次
(5) ? :该对象必须出现0次或者1次
(6) , :对象必须按指定的顺序出现
dtd文件就一带而过了,想要了解更多DTD的详解,推荐一篇博客: https://blog.csdn.net/gavin_john/article/details/51532756
下面有一个简单例子给大家理解一下
DTD文件:
<!ELEMENT school (grade+)>
<!ELEMENT grade (class)>
<!ELEMENT class (#PCDATA)>
XML文件:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE class SYSTEM "mt.dtd">
<school>
<grade name="三年级">
<class name="三班" address="3教室"/>
<class name="四班" address="4教室"/>
</grade>
</school>