XML概述:
XML:可扩展标记语言Etensible Markup Language ,包括XML/DTD/XSSD/XPATH的w3c规范,在webservice方面主要应用 有SOAP/WSDL等(WSDL还不是w3c规范)!
01.很像html,html(着重数据的展示)
02.xml着重数据的保存
03.无需预编译
04.符合W3C标准
05.可扩展:我们可以自定义,完全按照自己的规则来!
标记: 计算机所认识的信息符号
XML的组成:
1.文档是声明 <?xml version="1.0" encoding="UTF-8"?>
2.元素 <p> </p>
3.属性 <p id="hh"> </p>
4.注释 < ! -- -->
5.特殊字符 &(&) <(<) >(>) "(") '(')
6.CDATA区域 Character data
7.处理指令(processing instruction) 处理指令,简称PI (processing instruction)。处理指令用 来指挥解析引擎如何解析XML文档内容。例如,在XML文档中可以使用xml-stylesheet指令,通知XML解析引擎 ,应用css文件显示xml文档内容,标签名为中文时,css不起作用。
XML解析器不会处理,而是当成字符串原样输出
xml语法——元素
XML元素指XML文件中出现的标签,一个标签分为开始标签和结束标签,一个标签有如下几种书写形式,例如:
包含标签体:<a>www.cnblogs.com/</a>
不含标签体的:<a></a>, 简写为:<a/>
一个标签中也可以嵌套若干子标签。但所有标签必须合理的嵌套,绝对不允许交叉嵌套 ,例如:
错误的写法:<a>welcome to <b>www.cnblogs.com/</a></b>
格式良好的XML文档必须有且仅有一个根标签,其它标签都是这个根标签的子孙标签。
对于XML标签中出现的所有空格和换行,XML解析程序都会当作标签内容进行处理
一个XML元素可以包含字母、数字以及其它一些可见字符,但必须遵守下面的一些规范:
区分大小写,例如,<P>和<p>是两个不同的标记。
不能以数字或"_" (下划线)开头。
不能以xml(或XML、或Xml 等)开头。
不能包含空格。
名称中间不能包含冒号(:)
XML文件中只能有一个根节点
区分大小写
节点要成对出现 有开始就要有闭合
节点必须正确的嵌套
XML,HTML都是一个类似于一个倒挂的树
只有一个节点,枝叶茂盛
我们把这个倒挂的树称之为==》dom树
DOM(doucument Object Model )文档对象模型
创建第一个maven项目:
new project===》maven=====》quick======》archetypeCatalog=internal
引入需要的pom的节点
自定义一个 xml文件
需求通过dom4j实现查询学校下面的年级以及班级信息
解析xml文件的方式:
DOM:基于xml文档树结构的解析,把xml文件中的内容都读取到内存中,比较占内存,消耗资源多!
SAX:基于事件的解析 ,消耗资源小
JDOM:针对于java的特定模型,满足 2 8原则。 自身没有解析器,依赖于SAX2
DOM4J:for(4)JDOM的一个分支,源代码开发,性能优异,功能强大。
DTD: Document Type Definition(文档类型定义)
1.规范我们的编码
2.在浏览器中正常的显示
<!ELEMENT school(grode+)>
ELEMENT:元素(关键字不可更改)
school :元素的名称
grade:子元素或者元素类型 CDATA PCDATA(Parse)解析数据,不能包含子元素
+ :1-n,最少出现一次
*:0-n,可有可无
?:0-1 最多出现1次
,:元素出现的顺序
DTD文档使用方式:
1.内部DTD
<!DOCTYPE 根元素[定义内容]>
2.外部DTD
<!DOCTYPE 根元素 SYSTEM "DTD文件路径">
3.内外部DTD
<!DOCTYPE 根元素 SYSTEM "DTD文件路径" [定义内容]>
什么是DTD,为什么需要DTD?
DTD为英文Document Type Definition,中文意思为“文档类型定义”。DTD肩负着两重任务:一方面它帮助你编 写合法的代码,另一方面它让浏览器正确地显示器代码。
一个HTML文档的基本结构可分为两个主要部分:
<html>
<head>
头部信息
</head>
< body>
可视内容
</body>
</html>
一个DTD应该放在每一个文档的第一行(包括空白).这样正确地放置,你的DTD才能告诉浏览器的用的是什么标记 语言。在通常情况下,如果你编写的是正确代码,并拥有一个合适的DTD,浏览器将会根据W3C的标准显示你的代码。
良好的xml文档:符合xml的语法规则。
有效的xml文档:符合xml语法规则的同时还需要符合DTD文档类型定义。
有效(Valid)的XML文档:
首先,XML文档是个格式正规的(Well-formed)XML文档;
其次,需要满足DTD的要求,这样的XML文档称为有效的(Valid)XML文档。
利用DTD可以对xml文档的各个节点进行约束定义,使开发遵循一套“标准”。
DTD可以约束xml文档出现的元素,元素名称,元素的先后顺序,属性等。
DTD文档与XML文档实例的关系
类与对象;
数据库表结构与数据记录;
有了DTD,每个XML文件可以携带一个自身格式的描述。
有了DTD,不同组织的人可以使用一个通用DTD来交换数据。
应用程序可以使用一个标准DTD校验从外部世界接收来的XML数据是否有效。
可以使用DTD校验自己的XML数据。
DTD中的修饰符合
( ) 用来给元素分组
| 在列出的对象中选择一个
+ 该对象最少出现一次,可以出现多次(1或多次)
* 该对象允许出现零次到任意多次(0到多次)
? 该对象可以出现,但只能出现一次(0到一次)
, 对象必须按指定的顺序出现
总结
1. xml html
2. 特定 ,注意事项
3. maven 项目创建的注意点
4.手写xml
5.解析xml的几种方式
6.dom4j解析的步骤