3.XML
3.1XML文档定义有几种形式?有什么本质区别?
参考答案:
两种形式DTD和Schema,二者区别如下:
1.Schema是标准的XML文件,而DTD则使用自己的特殊语法,因此,只需要知道XML的语法规则就可以编写Schema了,不需要在学习其他语法规则.
2.Schema利用命名空间将文件中特殊的节点与Schema说明相联系,一个XML文件可以有多个对应的Schema;而一个XML文件只能有一个相对应的DTD文件.
3.Schema的内容模型是开放的,可以随意扩充,而DTD则无法解读扩充的内容.DTD只能把文件类型定义为一个字符串,而XML Schema却允许把文件类型定义为整数,浮点数,字符串,布尔值或其他各数据类型,而无须重新定义.
3.2.Java中常用的XML解析技术有哪些?区别是什么?
参考答案:
Java中常用的XML解析技术有DOM,SAX两种方式,这两种方式区别如下:
DOM解析处理大型文件时其性能下降的非常厉害.这个问题是由DOM的树结构所造成的,这种结构占用的内存较多,而且DOM必须在解析文件之前把整个文档载入内存,适合对XML的随机访问.
SAX解析不同于DOM,SAX是事件驱动型的XML解析方法.它顺序读取XML文件,不需要一次全部装载整个文件.当遇到像文档开头,文档结束,或者标签开头与标签结束时,它会触发一个事件,用户通过在其回调事件中写入处理代码来处理XML文件,适合对XML的顺序访问.