我不知道为什么很难找到一个非商业包,它基本上可以在 XML 输入上运行 XQuery,并带有字符串或文件。在那里找不到太多非商业的东西。
我尝试了 Saxonche,但无法编译 Python,因为我一直收到未解决的导入问题
from saxonche import PySaxonProcessor
我尝试的另一件事是drb-xquery;但是,我不知道如何在那里传递 XML 字符串,因为它似乎只需要文件或 DrbNode 的路径!!
非常感谢任何有关在 Python 中运行 XQuery 的其他简单直接方法的建议。
对我来说有以下作品:
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)