Python下的XQuery库

22 投票
4 回答
15517 浏览
提问于 2025-04-15 18:26

有没有现成的方法可以在Python中运行XQuery?(也就是说,不用自己从头开始写一个解析器)。

我有很多旧的XQuery代码想要迁移到我们的新系统,或者说我想迁移的是框架,而不是XQuery本身。

所以:有没有什么库可以让我在Python中运行XQuery?

4 个回答

0

Zorba 1.2可以在Python中使用。安装完成后,你会在Zorba文件夹下看到一个Python文件夹。把这个文件夹和Zorba\bin文件夹添加到sys.path中。这样一来,导入“zorba_api”就可以正常工作了!

3

你可以使用 Jython 来运行Python代码,这样你就可以使用一些来自Java世界的XQuery处理器。例如 Saxon

14

有点意思 ...

在查看W3C的XQuery实现列表时,发现了以下内容:

  1. Zorba的Python绑定
  2. Sedna是一个免费的本地XML数据库,提供了Python的API。

这里有一些关于Zorba的Python示例,来自这个链接

import sys
import zorba_api

def example1(zorba):
  xquery = zorba.compileQuery("1+2")
  print xquery.printPlanAsXML()
  print xquery.execute()
  return

def example2(zorba):
  xquery = zorba.compileQuery("(1,2,3,4,5)")
  iter = xquery.iterator()
  iter.open()
  item = zorba_api.Item_createEmptyItem()
  while iter.next(item):
    print item.getStringValue()
  iter.close()
  iter.destroy()
  return

def example3(zorba):
  try:
    xquery = zorba.compileQuery("1 div 0")
    print xquery.execute()
  except RuntimeError, e:
    print e
  return

在这个列表中可能还有C语言的实现,可以很方便地与Python结合使用。希望这些信息对你有帮助,我有点惊讶看到实现的数量这么少。不过,我想XQuery并不是最受欢迎的XML工具。

撰写回答