使用Python执行Xquery

问题描述 投票:0回答:1

我不知道为什么很难找到一个非商业包,它基本上可以在 XML 输入上运行 XQuery,并带有字符串或文件。在那里找不到太多非商业的东西。

我尝试了 Saxonche,但无法编译 Python,因为我一直收到未解决的导入问题

from saxonche import PySaxonProcessor

我尝试的另一件事是drb-xquery;但是,我不知道如何在那里传递 XML 字符串,因为它似乎只需要文件或 DrbNode 的路径!!

非常感谢任何有关在 Python 中运行 XQuery 的其他简单直接方法的建议。

python xquery saxon
1个回答
0
投票

对我来说有以下作品:

pip install saxonche

我运行了以下脚本,打印了

true

from saxonche import PySaxonProcessor 

xml = """\
<out>
    <person att1='value1' att2='value2'>text1</person>
    <salary>3000 €</salary>
    <person>text2</person>
    <person>text3</person>
</out>
"""
saxonproc = PySaxonProcessor()
query_proc = saxonproc.new_xquery_processor()
node = saxonproc.parse_xml(xml_text=xml, encoding="UTF-8")
result = query_proc.run_query_to_value(input_xdm_item=node, query_text="/out/salary/text() = '3000 €'", encoding="UTF-8")
print(result)
© www.soinside.com 2019 - 2024. All rights reserved.