考虑以下TSQL:
declare @xml xml
select @xml = '<test xmlns="http://this-is-the-default-namespace-uri">some data</test>'
select x.value('namespace-uri(.)', 'varchar(100)')
from @xml.nodes('.') x(x)
我想从XML中获取的是默认命名空间的URI。这是根元素上的xmlns
属性的值。上面的select语句返回一个空字符串。如何获得xmlns
的实际值?
答案 0 :(得分:4)
我对fn:namespace-uri()的工作方式不太熟悉,但这似乎回归了你想要的......
select x.value('namespace-uri(.)', 'varchar(100)')
from @xml.nodes('*[1]') x(x);