Как получить пространство имен xml по умолчанию из типа данных XML с использованием TSQL? - PullRequest
2 голосов
/ 17 марта 2011

Рассмотрим следующий 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?

1 Ответ

4 голосов
/ 17 марта 2011

Я не слишком знаком с тем, как работает fn: namespace-uri (), но это, похоже, возвращает то, что вы хотите ...

select  x.value('namespace-uri(.)', 'varchar(100)')
from    @xml.nodes('*[1]') x(x);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...