是否有类似local-name的local-path函数?

时间:2012-09-13 20:24:53

标签: xml tsql

在以前的SO帖子中:The argument 1 of the XML data type method "value" must be a string literal我没有找到解决方案,但如果有人能回答这个问题,我可以解决之前的问题。

问题:如何以检索给定节点名称的方式检索给定节点的完整路径?

declare @x xml; set @x='<ROOT><a>111</a></ROOT>'
SELECT @x.value('local-name((/ROOT/a)[1])', 'varchar(256)')

以上将返回'a'。我该如何退回'/ ROOT / a'?

1 个答案:

答案 0 :(得分:0)

目前没有解决此问题的解决方案(从SQL Server 2008开始),因为SQL引擎不支持整个XQuery语言。根据规范,有些函数可用于获取祖先并使用FLWOR构建路径,但尚未实现祖先功能。遗憾的是

然而,至于让我在这里开始的问题(参见我原来的SO帖子) - 找到了可接受的解决方案