一.HTML XML区别
1、超文本标记语言 HTML
(1)写法格式: link
(2)关注数据的展示与用户体验
(3)标记是预定义、不可扩展的(如 表示超链接)
2、可扩展的标记语言 XML
(1)写法格式:同 html 样式
(2)仅关注数据本身
(3)标记可扩展,可自定义
二.XML作用
XML可以用于描述数据、存储数据、传输(交换)数据。XML现在已经成为一种通用的数据交换格式,它的平台无关性,语言无关性,系统无关性,给数据集成与交互带来了极大的方便,用户可以定义自己需要的标记。
三.XML使用
1)注意:1.文本文件保存时候默认的编码格式是ANSI,需用记事本把它手动改为UTF-8保存
2.文档的后缀名是xml,每个文档有且仅有一个根元素,所谓根元素就是包含了其他所有元素的元素
3.必须有且仅有一个根元素
4.严格区分大小写
5.属性值用引号(双引号或单引号) :等号分开的名称-值对;在一个元素上,相同的属性只能出现一次
6.标记成对;
7.空标记关闭;
8.元素正确嵌套。
2)元素命名规则
1.名称中可以包含字母、数字或者其他可见字符;
2.名称不能以数字开头;
3.不能以XML/xml/Xml…开头;
4.名称中不能含空格;
5.名称中不能含冒号(注:冒号留给命名空间使用)
3) 参数实体
基本语法:<!ENTITY % 实体名称 “实体的值”>
引用方式:%实体名称;
注意:参数实体必须在外部DTD文档中定义,在外部DTD文档中使用
4) 所有的 XML 文档(以及 HTML 文档)均由以下简单的构建模块构成: 元素 属性 实体 PCDATA CDATA CDATA节(character data)
四.XML解析
XML的解析方式分为四种:1、DOM解析;2、SAX解析;3、JDOM解析;4、DOM4J解析。其中前两种属于基础方法,是官方提供的平台无关的解析方式;后两种属于扩展方法,它们是在基础的方法上扩展出来的,只适用于java平台
- DOM解析
优点:1.形成了树结构,有助于更好的理解、掌握,且代码容易编写。
2.解析过程中,树结构保存在内存中,方便修改。
缺点:1.由于文件是一次性读取,所以对内存的耗费比较大。
2.如果XML文件比较大,容易影响解析性能且可能会造成内存溢出。 - SAX解析
SAX的全称是Simple APIs for XML,也即XML简单应用程序接口。与DOM不同,SAX提供的访问模式是一种顺序模式,这是一种快速读写XML数据的方式。当使用SAX分析器对XML文档进行分析时,会触发一系列事件,并激活相应的事件处理函数,应用程序通过这些事件处理函数实现对XML文档的访问,因而SAX接口也被称作事件驱动接口。
优点:1.采用事件驱动模式,对内存耗费比较小。
2.适用于只处理XML文件中的数据时。
缺点:1.编码比较麻烦。
2.很难同时访问XML文件中的多处不同数据。 - JDOM解析
特征:1.仅使用具体类,而不使用接口。
2.API大量使用了Collections类。
4.DOM4J解析
特征:1.JDOM的一种智能分支,它合并了许多超出基本XML文档表示的功能。
2.它使用接口和抽象基本类方法。
3.具有性能优异、灵活性好、功能强大和极端易用的特点。
4.是一个开放源码的文件