从xml列获取节点的路径

时间:2014-04-27 14:54:00

标签: sql-server xml

是否可以使用Microsoft SQL Server 2008中xml类型列的sql命令将节点的路径作为字符串获取?

这样的事情:

select xcolumn.path('//somenode1[@id="1234"]') as result from xtable

select xcolumn.query('path(//somenode1[@id="1234"]);') as result from xtable

1 个答案:

答案 0 :(得分:0)

似乎没有一种内置于XPath或XQuery中的方法。

我找到了一个算法的JavaScript实现,它将返回节点的路径,给定节点所属的文档。也许你可以创建一个可以实现相同逻辑的T-SQL UDF:

http://www.dzone.com/snippets/get-xpath-string-expression

其他人已经指出Firebug是开源的并且有逻辑来执行此操作,因此该算法可用。但是,再说一次,那不是T-SQL。