【问题标题】:How to select an attribute by a variable in xquery?如何通过xquery中的变量选择属性?
【发布时间】:2015-12-01 16:57:07
【问题描述】:

我知道如何选择这样的属性:

$table/@id

但是,如果属性名称存储为变量,我该怎么做。例如:

let $x = "id"
$table/@[$x]

【问题讨论】:

    标签: xml xpath xquery saxon xquery-3.0


    【解决方案1】:

    您可以使用函数local-namenode-name 来捕获属性的值并将其与谓词匹配。 local-name 将简单地返回一个与元素名称匹配的字符串,node-name 将返回一个完全限定的名称,这通常是推荐的,但实际上,只有在处理命名空间时才需要。

    let $x = "id"
    return $table/@*[local-name(.) = $x]
    
    let $x := xs:QName("id")
    return $table/@*[node-name(.) = $x]
    

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-04-09
    • 1970-01-01
    • 1970-01-01
    • 2011-11-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多