2007-08-04

简化XML读写-用XPath等查询定义简化DOM编码

来源: 本站收集整理 作者:佚名 评论 0 条
 

  其它示例

  这篇文章的目的是激发您使用 XPath,而不是教您使用它。我希望您可以清楚地熟悉到学习 XPath 并不会花费太多精力。

  同时,我们希望知道使用 XPath 可实现哪些功能。清单 3 中的查询使用 //a 作为一个简单的例子。最后,您将学习更复杂的查询功能,例如 /parent/child[@attr='value'],它指定所有 “parent” 的子节点 “child” 并指定属性 “attr” 的值为 “value”。另外两个例子://@*,它检查所有标记的所有属性;//tr/td th 检索 tr 里面的所有 td 或 th 元素。

  性能

  虽然性能测量总是需要缩小至一种特定的测量方法,但是对 XPath 性能的思考需要一些上下文。通俗地讲,XPath 比您所能达到的速度更快。在大型的、复杂的程序中,性能至关重要,XPath 查询比同等的手工编写的过程代码运行得更快(有时要快很多)。从原则上说,您可使用已有的关于数据内容或布局的知识来编写一个可快速运行的巧妙的查询。但在实践中,使用 XPath 产生的效果类似于使用高级语言(HLL)(而不是汇编程序或 C 语言)所产生的效果:只需少许的工作,开发人员就能够完成一个正确运行的程序,而 HLL 的所有表面上固有的速度缺点都可通过较高级的特定于应用程序的算法来弥补。

  使用完全相同的方式,XPath 对一些不可忽视问题简化了编码。在这些问题中,速度造成的影响足以使程序员利用空闲时间小心地开发自己的解决方案。基于 XPath 的解决方案不仅更易于纠错和维护,而且至少是速度快。

  此外,一些 XPath 实现是非常细致地编写的,其内存使用率比普通的过程搜索更高。在这些例子中,基于 XPath 的编码能极大地提高搜索速度 —— 十倍或更高。

  没有展示特定的测量方法来说明这些问题确实令人沮丧。虽然,任何特定的对比都会产生误导;但是 XPath 的相对性能取决于开发语言、特定的 XPath 实现、XML 查询图像、搜索、和运行时可用内存(大多数情况)的布局。学习如何进行简单的计时,并学习在您的 应用程序的数据集上测试 XPath。假如您的经验和我差不多,那么您时常会发现 XPath 只有原生编码一半的速度,对于一些小问题尤为显著,但是与其它语言相比速度还是要快一个级别。

  查看英文原文


共3页: 上一页 [1] [2] 3 下一页
(本文仅表明作者个人观点,不代表本站及其管理员立场.) 推荐 收藏 投稿 打印 返回 关闭
上一篇:客户端访问Web Service方法的一个细节  
下一篇:认识XML基础知识
    评论加载中…
 推荐文章
     

网站首页  -  网站地图 -   站长论坛  -  网站投稿  -    -  网站管理
Copyright © 2008 芜湖站长站 All Rights Reserved 皖ICP备07500611号