关于XML的一些事

XML:可扩展标记语言!

  01.很像HTML

  02.着重点是数据的保存

  03.无需预编译

  04.符合W3C标准

可扩展:我们可以自定义,完全按照自己的规划来!

标记:计算机所能认识的信息符号!

   比如: int num = 5;    教材编号

XML的组成部分:
  01.文档声明  <?xml version="1.0" encoding="UTF-8">

  02.元素  <p></p>

  03.属性  <p id="haha"></p>

  04.注释  <!-- -->

  05.特殊字符

  06.CDATA区域  Character data  字符数据

  07.处理指令  引入css样式

<school>
    <grade name="一班">
        <student name="A"></student>
    </grade>
</school>

注意点:

  01.xml文件中只能有一个根节点

  02.节点要成对出现  有开发和闭合

  03.节点必须正确的嵌套!!!

    比如不能出现以下格式代码:(嵌套格式不对!!!)

<学校>
    <班级 名称="一班">
        <学生 姓名="A">
    </班级>
        </学生>
</学校>

  04.严格区分大小写

  05.空格和换行都是特殊字符  会被解析器解析

XML,HTML都是一个类似于倒挂的树!

只有一个根节点,枝叶茂盛!

我们把这个倒挂的数称之为===》dom数!

DOM:(Doucument  Object  Model)文档对象模型

特殊字符:

>      &gt;

<      &lt;

&      &amp;

'       &apos;

"       &quot;

CDAT区域:XML解析器不会处理,而是当成字符串原样输出!

<![CDATA[xml内容]]>

解析xml文件的方式

  01.DOM:基于xml文档树结构的解析,把xml文件中的内容读取到内存中,比较占内存,消耗资源多!

  02.SAX:基于事件的解析。消耗资源小!

  03.JDOM:针对于Java的特定模型!满足2  8原则!自身没有解析器,依赖于SAX2!

  04.DOM4J:for(4)JDOM的一个分支!源码开放,性能优异,功能强大!

创建第一个maven项目:
  1.new  project===>maven==>quick==>archetypeCatalog=internal
  2.引入需要的pom节点
  3.自定义一个xml文件  (学校  年级  班级)
  4.需求通过dom4j实现查询学校下面的年级以及班级信息
  5.创建一个测试类 书写代码

DTD:Document Type Definition(文檔類型定義)
  01.规范我们的编码
  02.在浏览器中正常的显示


<!ELEMENT school (grade+),(class|student)>
ELEMENT :元素,关键字
school:元素名称
grade:子元素或者元素类型  CDATA  PCDATA (Parse)解析数据,不能包含子元素

  ():用来给元素分组
  | :两者必须选择一个
  + : 1-N,至少出现一次
  * : 0-N,可有可无,并且可以多次
  ?: 0|1,最多一次
  ,:元素出现的顺序

DTD文档使用方式:
  01.内部DTD
    <!DOCTYPE 根元素[定义的内容]>

  02.外部DTD
    <!DOCTYPE 根元素 SYSTEM "dtd文件位置">

  03.内外部DTD
    <!DOCTYPE 根元素 SYSTEM "dtd文件位置"[定义的内容]>

原文地址:https://www.cnblogs.com/fl72/p/9241803.html