xml学习 :: seman&apple
来源: BlogBus 原始链接: http://www.blogbus.com:80/blogbus/blog/diary.php?diaryid=314856 存档链接: https://web.archive.org/web/20041119135132id_/http://www.blogbus.com:80/blogbus/blog/diary.php?diaryid=314856
seman&apple grow old with me,the best way is yet to be! <<< XML+RDF――实现Web数据基于语义的描述 | 主页 | 下一代IT技术焦点:信息交换>>> xml学习 2004-08-07 XML 的多种编程接口: 文档对象模型(Document Object Model (DOM))、用于 XML 的简单 API(Simple API for XML (SAX))、JDOM 和用于 XML 解析的 Java API(Java API for XML Parsing (JAXP))。 DOM: 解析器读入整个文档,然后构建一个驻留内存的树结构,然后您的代码就可以使用 DOM 接口来操作这个树结构。您可以遍历树以了解原始文档包含了什么,您可以删除树的几个部分,还可以重新排列树和添加新的分支,等等。 DOM 的几个问题: DOM 构建整个文档驻留内存的树。如果文档很大,就会要求有极大的内存。 DOM 创建表示原始文档中每个东西的对象,包括元素、文本、属性和空格。如果您只需关注原始文档的一小部分,那么创建那些永远不被使用的对象是极其浪费的。 DOM 解析器必须在您的代码取得控制权之前读取整个文档。对于非常大的文档,这会引起显著的延迟。 SAX: SAX 解析器向您的代码发送事件。当解析器发现元素开始、元素结束、文本、文档的开始或结束等时,它会告诉您。您可以决定什么事件对您重要,而且可以决定要创建什么类型的数据结构以保存来自这些事件的数据。如果您没有显式地保存来自某个事件的数据,它就被丢弃。 SAX 解析器根本不创建任何对象,它只是将事件传递给您的应用程序。如果希望基于那些事件创建对象,这将由您来完成。 SAX 解析器在解析开始的时候就开始发送事件。当解析器发现文档开始、元素开始和文本等时,代码会收到一个事件。您的应用程序可以立即开始生成结果;您不必一直等到整个文档被解析完毕。更妙的是,如果您只查找文档中某些内容,代码一旦找到所要找的东西就可以抛出一个异常。该异常会停止 SAX 解析器,然后代码用它找到的数据做它需要做的任何事。 seman18 发表于 2004-08-07 22:21 引用Trackback(0) | 编辑 Comments 发表评论 最近更新 这里太慢了 他们的成功不是靠技术! music种类 youth 表达“拍马屁”和“炒鱿鱼” 面向构件的互联网应用基础平台浮出水面 Bressanone 美文:Never Give Up 英文经典欣赏:飞鸟集 daily phrase