有没有现成的方法在Python中运行XQuery?(换句话说,不需要自己构建解析器)。
我有许多遗留的XQuery代码想要移植到我们的新系统中,或者更准确地说,我想移植框架而非XQuery。
因此:有没有允许我在Python下运行XQuery的库?
大概就是这样...
浏览W3C XQuery实现列表,有:
这里有一些来自此处的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工具中最受欢迎的。
我遇到了像Ted一样的问题,并尝试使用vadim的答案。然而,我仍然无法正确加载zorba_api,抱怨“ImportError DLL load failed”(没有告诉我是哪一个,使用%1作为昵称)。
最终,我找到了解决方案:
环境
安装
PATH
中的第一项zorba_api.py
和_zorba_api.pyd
)到C:\ Python26 \ LIB \ site-packages
结果,我能够从计算机中的任何文件夹运行C:\ Program Files \ Zorba XQuery Processor 1.4.0 \ share \ doc \ zorba-1.4.0 \ python \ examples \ python_test.py
,甚至不需要修改PATH中的python行。
NB:
Zorba 1.2可以从Python中运行。安装后,您将在zorba文件夹下获得一个Python文件夹。将其与zorba\bin文件夹一起附加到sys.path中。完成所有操作后,导入“zorba_api”将起作用!