1. XML 包括哪些解释技术,区别是什么?
包括:DOM(Document Object Modal)文档对象模型,SAX(Simple API for XML)。DOM 是一次性将整个文档读入内存操作,如果是文档比较小,读入内存,可以极大提高操作的速度,但如果文档比较大,那么这个就吃力了。所以此时 SAX 应用而生,它不是一次性的将整个文档读入内存,这对于处理大型文档就比较就力了
2. XML 文档定义有几种形式?它们之间有何本质区别?解析XML 文档有哪几种方式?
答:XML 文档定义分为 DTD 和 Schema 两种形式;其本质区别在于 Schema 本身也是一个 XML 文件,可以被 XML 解析器解析。对 XML 的解析主要有DOM(文档对象模型)、SAX、StAX(JDK 1.6中引入的新的解析 XML 的方式,Streaming API for XML) 等,其中 DOM 处理大型文件时其性能下降的非常厉害,这个问题是由 DOM 的树结构所造成的,这种结构占用的内存较多,而且 DOM 必须在解析文件之前把整个文档装入内存,适合对 XML 的随机访问(典型的用空间换取时间的策略);SAX 是事件驱动型的 XML 解析方式,它顺序读取 XML 文件,不需要一次全部装载整个文件。当遇到像文件开头,文档结束,或者标签开头与标签结束时,它会触发一个事件,用户通过在其回调事件中写入处理代码来处理 XML 文件,适合对 XML 的顺序访问;如其名称所暗示的那样,StAX把重点放在流上。实际上,StAX与其他方法的区别就在于应用程序能够把XML作为一个事件流来处理。将XML作为一组事件来处理的想法并不新颖(事实上 SAX 已经提出来了),但不同之处在于 StAX 允许应用程序代码把这些事件逐个拉出来,而不用提供在解析器方便时从解析器中接收事件的处理程序。
3. 你在项目中哪些地方用到了 XML?
答:XML 的主要作用有两个方面:数据交换(曾经被称为业界数据交换的事实标准,现在此项功能在很多时候都被 JSON 取代)和信息配置。在做数据交换时,XML 将数据用标签组装成起来,然后压缩打包加密后通过网络传送给接收者,接收解密与解压缩后再从 XML 文件中还原相关信息进行处理。目前很多软件都使用 XML 来存储配置信息,很多项目中我们通常也会将作为配置的硬代码(hard code)写在 XML 文件中,Java 的很多框架也是这么做的。
4. 谈谈对 XML 的理解?说明 Web 应用中 Web.xml 文件的作用?
解答:XML(Extensible Markup Language)即可扩展标记语言,它与 HTML 一样,都是 SGML(Standard Generalized Markup Language,标准通用标记语言)。Xml 是 Internet 环境中跨平台的,依赖于内容的技术,是当前处理结构化文档信息的有力工具。扩展标记语言 XML 是一种简单的数据存储语言,使用一系列简单的标记描述数据,而这些标记可以用方便的方式建立,虽然XML占用的空间比二进制数据要占用更多的空间,但XML极其简单易于掌握和使用。
web.xml 的作用是配置欢迎页,servlet,filter,listener 等的。
5. XML 是一种元语言, 可以用它来描述其他语言。
A.正确
B.错误
解答:B