WEB开发网
开发学院软件开发Python 进一步了解 Python中的 XML工具 阅读

进一步了解 Python中的 XML工具

 2007-03-30 12:36:03 来源:WEB开发网   
核心提示: 4XPathXPath 是在 XML 文档内描述节点路径的通用规范,XPath 规范是 XSLT 的组成部分,进一步了解 Python中的 XML工具(5),但它也用作其它 XML 技术的一部分,例如,但是,如果您的应用程序涉及这些特定领域,当我决定为先前专栏文章中的大型 XML 文档开发

4XPath

XPath 是在 XML 文档内描述节点路径的通用规范。XPath 规范是 XSLT 的组成部分,但它也用作其它 XML 技术的一部分。例如,当我决定为先前专栏文章中的大型 XML 文档开发一个索引生成器时,显然会选择 XPath 作为描述 XML 各部分的语法。

随 4Suite 一起提供的 xml.xpath 模块为涉及 XPath 描述的进一步编程提供了一个封装器。虽然 XPath 不需要 DOM 框架,但是 4XPath 提供一系列处理 DOM 树的实用程序。XPath 描述可以针对 DOM 树(或子树)运行,并将返回与描述匹配的节点对象列表。例如:

处理 XPath 节点匹配的 Python 代码片断    
     from
     xml.dom.ext.reader
    
     import
     PyExpat
    
     from
     xml.xpath
    
     import
     Evaluate
reader = PyExpat.Reader()
dom = reader.fromString(some_function_to_get_XML())
path_descript =
    
     '/this/that/other'
    
    
     
for
     node
    
     in
     Evaluate(path_descript, dom.documentElement):
    
     
     # do something with each matched node
    

上述代码片断(从 4Suite 演示程序中改编)递归遍历 DOM 树,查找具有 <that> 父节点和 <this> 祖父节点的 <other> 元素。但是,通常只对我们感兴趣的节点给出一个 XPath 描述要容易得多。

4ODS

在本文中我将只给出 ODS 的简短概述,主要是因为 4ODS 实际上并不是特定于 XML 的技术;另外,这部分有许多附带问题。在很大程度上,4ODS 是 4Suite 的一部分,因为 4Suite Server 期望它可用。

4ODS 的功能有点类似于 ZODB 的功能。实际上,4ODS 稍微简单些,它可以与 shelve 或 xml_pickle 作比较(即 4ODS 不包括本地事务性能力)。基本上,4ODS 是一种可以用来使 Python 对象在应用程序运行期间保持持久性的方法。当值得保持持久性时(用许多语言实现都很困难),其它 Python 工具都能很好地处理对象持久性。4ODS 的特别之处在于它专门实现了 ODMG 对象数据标准(Object Data Standard)v3.0(其它工具都无意实现)。除此之外,ODMG 标准使用 .odl 文件中的对象格式规范。如果您希望或者需要,除诸如 shelve 或 pickle 特别方法以外,4ODS 允许更正式的持续对象设计。

4RDF

RDF 是一种创建关于 XML 文档的“元数据”的方法。4RDF 包括一个库和一个命令行工具( 4rdf ),用于处理“资源描述框架(Resource Description Framework)”。当然,RDF 文档本身是 XML 格式的。要较好地了解 RDF 的用途,请阅读 Uche Ogbuji 关于该主题的 developerWorks 专栏文章(请参阅 参考资料)。

结束语

4Suite 库为 Python/XML 程序员的工具箱添加了许多高级能力。4XSLT 弥补了本机 Python XML 工具一个非常明显的缺陷。其它一些 4Suite 工具涉及了更多特定领域,但是,如果您的应用程序涉及这些特定领域,那么您有必要去研究一下它们。

上一页  1 2 3 4 5 

Tags:进一步 了解 Python

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接