java高级常考题总结

来源:互联网 发布:单位矩阵 编辑:程序博客网 时间:2024/05/16 12:32

对于SAX(简单XMLAPI)和DOM(文档对象模型)解析XML的区别:
SAX:只能读,不能修改,只能顺序访问,适合对大型的XML的解析,解析速度快!
DOM:不仅能读,还能修改,而且能够实现随机访问,缺点是解析速度慢,只适合解析小型文档
解析速度慢(要在内存中生成节点树,而生成树是比较费时的)
SAX:应用于保存大量数据的XML(为什么要用XML保存大量的数据类容?答:可以实现异构系统
的数据访问,实现跨平台!)
DOM:一般应用与小型的配置XML,方便我们操作!

DTD增加了XML的有效性,
可以使用DTD校验自己的XML数据
DTD与Schema的比较:他们都用来校验自己的XML数据
DTD 的局限性
DTD不遵守XML语法(写XML文档实例时候用一种语法,写DTD的时候用另外一种语法)
DTD数据类型有限(与数据库数据类型不一致)
DTD不可扩展
DTD不支持命名空间(命名冲突)
Schema的新特性
Schema基于XML语法
Schema可以用能处理XML文档的工具处理
Schema大大扩充了数据类型,可以自定义数据类型
Schema支持元素的继承—Object-Oriented’ish
Schema支持属性组


Dtd约束包括那几个方面
定义xml的根元素、内容和结构
定义xml文档中可以接受那些元素
定义xml文档里每个元素接受的合法内容,包括是否为空,是可以是文本,可以接受那些子元素,子元素出现的顺序和子元素出现次数等。
定义xml文档中每个元素能接受那些属性
定义xml文档中每个属性的类型,能接受那些值,以及元素对属性的约束等。
定义属性的固定值和默认值
定义xml文档或dtd中可以使用的实体。

 

原创粉丝点击