通常我用这种方式在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()
好吧,看来我没有任何其他选择。谢谢。 – owenwater