我可以在xquery中使用类似的内容吗?基本上我想使用字符串变量作为标记。我正在使用web harvest来提取数据。任何帮助或指示赞赏。
declare variable $doc as node() external;
declare variable $tag as xs:string;
let $tag := $doc//div[@class=details]//tr[1]/td[1]
return
<$tag>{$doc//div[@class=details]//tr[1]/td[2]</$tag>
答案 0 :(得分:3)
使用元素构造函数element { $tag } { $content }
。
您的查询还有两个问题:
$tag
声明为变量,无论如何都要将其隐藏除了在元素构造函数的标记名称字段中不支持变量名的MSSQL外,此代码应该可以在所有内容中使用:
declare variable $doc as node() external;
let $tag := $doc//div[@class=details]//tr[1]/td[1]
return
element { $tag } { $doc//div[@class=details]//tr[1]/td[2] }
答案 1 :(得分:2)
是的,可以使用元素{}构造:
return element {$tag} {$doc//div[@class=details]//tr[1]/td[2]}