Java高级-XML

Posted on 2018-07-03 09:24  仙人板板  阅读(118)  评论(0编辑  收藏  举报

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>