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文件位置"[定义的内容]>

关于XML的一些事的更多相关文章

  1. XLT格式化XML那点事(C#代码中的问题解决)(二)

    接上篇<XML通过XSL格式化的那点事(XML到自定义节点折叠显示)>,本文就如何将大的XLST分割成小文件和如何用C#将XML通过XSL生成HTML文件中的问题做下分析,避免有同样需求的 ...

  2. XML的一些事

    XML文件的优缺点: 使用XML作为传输格式的优势: 1. 格式统一, 符合标准 2. 容易与其他系统进行远程交互, 数据共享比较方便 3.调用将 XML 用作传输的现有服务. 4.使用 XSLT 可 ...

  3. XML通过XSL格式化的那点事(XML到自定义节点折叠显示)

    引言 有时我们想看下系统生成的XML文件(如XML格式的Project文件),如果文件结构简单,我们浏览器看起来还比较方便,但是随着XML schema复杂后就变得让人头疼啦,单独写一个程序去做展现又 ...

  4. 两年来的core折腾之路几点总结,附上nginx启用http2拿来即用的配置

    序:一年多没更新博客园的内容了,core已经发生了翻天覆地的变化,想起2014年这时候,我就开始了从当时还叫k的那套preview都不如的vnext搭建这套系统,陆陆续续它每一次升级,我也相应地折腾, ...

  5. SSM-MyBatis-04:Mybatis中使用properties整合jdbc.properties

    ------------吾亦无他,唯手熟尔,谦卑若愚,好学若饥-------------properties整合jdbc.properties首先准备好jdbc.properties,里面的key值写 ...

  6. redis数据结构和常用命令

    redis常用数据结构 String 最简单的K_V,value可以是数字或者字符串,使用场景:微博数.普通计数,命令:get set incr(加1) decr(减1) mget(获取多个值),se ...

  7. SpringMVC静态资源拦截的问题

    通常在web.xml中的核心控制器的DispatcherServlet中的url-pattern属性配置成类似“/”的拦截路径,但是会出现静态资源找不到的问题,比如js脚本.图片.css等无法加载,那 ...

  8. 不可不知的 Android strings.xml 那些事

    相信 strings.xml 已经是大家在 Android 开发中最熟悉的文件之一了,但其实它也有很多需要注意的地方和一些小技巧,知道了这些可以让你的 Android 应用更加规范易用,大家来看看吧. ...

  9. java web开发中的奇葩事web.xml中context-param中的注释

    同事提交了代码.结果除同事之外,其他人全部编译报错.报错说web.xml中配置的一个bean 没有定义.按照报错提示,各种找,无果. 由于代码全部都是提交到svn主干,之前也没有做过备份,只能一步一步 ...

随机推荐

  1. springboot扫描自定义的servlet和filter代码详解_java - JAVA

    文章来源:嗨学网 敏而好学论坛www.piaodoo.com 欢迎大家相互学习 这几天使用spring boot编写公司一个应用,在编写了一个filter,用于指定编码的filter,如下: /** ...

  2. Java 数组复制之clone方法

    一.源码 public class Test1 { public static void main(String[] args) { // Student[] arrs = new Student[] ...

  3. 018:include函数详解

    include函数详解(了解——虽然用的很少): include函数的用法,目前有三种使用方式: 1.include(module,namespace=None): module:子url的模块字符串 ...

  4. N皇后问题 --使用位运算解决

    关键位运算 x & (-x) 取得最低位1 x & (x-1) 去掉最低位1 class Solution(object): def totalNQueens(self, n): &q ...

  5. Python抽象类(abc模块)

    1.抽象类概念 抽象类是一个特殊的类,只能被继承,不能实例化 2.为什么要有抽象类 其实在未接触抽象类概念时,我们可以构造香蕉.苹果.梨之类的类,然后让它们继承水果这个基类,水果的基类包含一个eat函 ...

  6. BZOJ 4488: [Jsoi2015]最大公约数 暴力 + gcd

    Description 给定一个长度为 N 的正整数序列Ai对于其任意一个连续的子序列 {Al,Al+1...Ar},我们定义其权值W(L,R )为其长度与序列中所有元素的最大公约数的乘积,即W(L, ...

  7. NOIP2016考前做题(口胡)记录

    NOIP以前可能会持续更新 写在前面 NOIP好像马上就要到了,感觉在校内训练里面经常被虐有一种要滚粗的感觉(雾.不管是普及组还是提高组,我都参加了好几年了,结果一个省一都没有,今年如果还没有的话感觉 ...

  8. Selenium 控制浏览器

    webdriver提供了操作浏览器的一些基本方法,例如:打开,前进,后退,刷新,设置窗口大小,截屏,退出等 一.打开网页 代码: # coding = utf-8 from time import s ...

  9. 【转】BYV--有向图强连通分量的Tarjan算法

    转自beyond the void 的博客: https://www.byvoid.com/zhs/blog/scc-tarjan 注:红色为标注部分 [有向图强连通分量] 在有向图G中,如果两个顶点 ...

  10. 在ThinkPHP框架(5.0.24)下引入Ueditor并实现向七牛云对象存储上传图片同时将图片信息保存到MySQL数据库,同时实现lazyload懒加载

    这是我花了很多天的时间才得以真正实现的一组需求. 文章后面有完整Demo的GitHub链接. 一. 需求描述 1. 应用是基于ThinkPHP5开发的: 2. 服务器环境是LNMP,PHP版本是7.2 ...