是否可以使用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
答案 0 :(得分:0)
似乎没有一种内置于XPath或XQuery中的方法。
我找到了一个算法的JavaScript实现,它将返回节点的路径,给定节点所属的文档。也许你可以创建一个可以实现相同逻辑的T-SQL UDF:
http://www.dzone.com/snippets/get-xpath-string-expression
其他人已经指出Firebug是开源的并且有逻辑来执行此操作,因此该算法可用。但是,再说一次,那不是T-SQL。