当前位置:首页 » 服务器技术
开发技术指南» 文章正文
    引言: SAX概念 SAX是Simple API for XML的缩写,它并不是由W3C官方所提出的标准,可以说是“民间”的事实标准。
 

 

 ·java和c++区别    »显示摘要«
    摘要:1.指针 java语言让编程者无法找到指针来直接访问内存无指针,并且增添了自动的内存管理功能,从而有效地防止了c/c++语言中指针操作失误,如野指针所造成的系统崩溃。但也不是说java没有指针,虚拟机内部还是使用了指针,只是外人不得使用而已。这有利于java程序的安全。 2.多重继承 c++支持多重继承,这是c++的一个特征,它允许多父类派生一个类。尽管多重继承功能很强,但使用复杂,而且会引起许多......
    摘要:midp 2.0里面包括一个用来简化编写二维游戏的api函数。这个api函数是非常简凑的,只包括javax.microedition.lcdui.game包里的五个类。这五个类主要提供了两个重要的功能: 新的gamecanvas类使得在一个游戏循环体内画一个screen和响应键盘输入成为可能,而不需要调用系统的paint和input线程。 功能强大而复杂的图层(layer)api函数可以轻......


Java与XML联合编程之SAX篇(1)
sax概念   sax是simple api for xml的缩写,它并不是由w3c官方所提出的标准,可以说是“民间”的事实标准.实际上,它是一种社区性质的讨论产物.虽然如此,在xml中对sax的应用丝毫不比dom少,几乎所有的xml解析器都会支持它.

【程序编程相关:Java实现ftp功能

【推荐阅读:java基础学习:常用的ant的操作

与dom比较而言,sax是一种轻量型的方法.我们知道,在处理dom的时候,我们需要读入整个的xml文档,然后在内存中创建dom树,生成dom树上的每个node对象.当文档比较小的时候,这不会造成什么问题,但是一旦文档大起来,处理dom就会变得相当费时费力.特别是其对于内存的需求,也将是成倍的增长,以至于在某些应用中使用dom是一件很不划算的事(比如在applet中).这时候,一个较好的替代解决方法就是sax. 【扩展信息:JAVA中的数组研究

sax在概念上与dom完全不同.首先,不同于dom的文档驱动,它是事件驱动的,也就是说,它并不需要读入整个文档,而文档的读入过程也就是sax的解析过程.所谓事件驱动,是指一种基于回调(callback)机制的程序运行方法.(如果你对java新的代理事件模型比较清楚的话,就会很容易理解这种机制了)

在xmlreader接受xml文档,在读入xml文档的过程中就进行解析,也就是说读入文档的过程与解析的过程是同时进行的,这与dom区别很大.解析开始之前,需要向xmlreader注册一个contenthandler,也就是相当于一个事件监听器,在contenthandler中定义了很多方法,比如startdocument(),它定制了当在解析过程中,遇到文档开始时应该处理的事情.当xmlreader读到合适的内容,就会抛出相应的事件,并把这个事件的处理权代理给contenthandler,调用其相应的方法进行响应.

这样泛泛的说来或许有些不容易理解,别急,后面的例子会让你明白sax的解析过程.看看这个简单xml文件:

<poem>

<author>ogden nash</author>

<title>fleas</title>

<line>adam</line>

</poem>


...   下一页
    摘要:预备知识: 1.字节和unicodejava内核是unicode的,就连class文件也是,但是很多媒体,包括文件/流的保存方式是使用字节流的。 因此java要对这些字节流经行转化。char是unicode的,而byte是字节.java中byte/char互转的函数在sun.io的包中间有。其中bytetocharconverter类是中调度,可以用来告诉你,你用的convertor。其中两个......
» 本期热门文章:

©2000-2007 All Rights Reserved. 最佳浏览:1024X768 MSIE