gpt4 book ai didi

xpath - xpath中的变量

转载 作者:行者123 更新时间:2023-12-03 15:46:47 26 4
gpt4 key购买 nike

我正在 eXist 上编写 xquery .

通常我使用这种方式来选择xml中的项目:

fn:doc($document_name)/root/a

但现在我想从字符串变量中获取 xpath:

let $xpath := request:get-parameter("xpath", "")
fn:doc($document_name)/$xpath

当然不行。我现在发现的唯一方法是使用 eval:

util:eval(fn:concat("fn:doc($document_name)", $xpath)):)

但我不想使用 eval,因为它很慢而且不安全。

我知道有这样的东西:

fn:doc($document_name)/*[name()='node_name']

但我想通过整个路径选择项目,而不仅仅是节点的名称我也尝试过使用 node-xpath() 但不知道如何使用它,就像 name()

最佳答案

您想做 eval() 函数所做的事情,所以任何解决方案都会遇到与 eval 相同的问题。您可以考虑的另一种方法是生成查询然后执行它,但它会遇到完全相同的问题。如果您认为将字符串限制为 XPath 表达式的子集(例如,没有谓词或没有函数调用)可能更安全,那么您可以尝试使用简单的正则表达式测试这些条件。

关于xpath - xpath中的变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7961414/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com