Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Вопрос по xmlns  [new]
sqI
Member [заблокирован]

Откуда: http://rstudio.at.ua
Сообщений: 1667
Есть вот такой запрос, который по другому не хочет работать.

declare @xml xml
set @xml = (select xml_data from XmlImportTest)
;with xmlnamespaces (default 'http://localhost')
select
    a.b.value('Column[1]/@Value', 'nvarchar(128)') AS ResourceNumber,
    a.b.value('Column[3]/@Value', 'nvarchar(128)') AS SSN
from @xml.nodes('//Record') a(b)

Можно как-то избавиться от 'http://localhost', тоесть чтобы подходил любой неймспейс, неважно какой указан в файле ?
1 дек 09, 16:47    [8003892]     Ответить | Цитировать Сообщить модератору
 Re: Вопрос по xmlns  [new]
daw
Member

Откуда: Муром -> Москва
Сообщений: 7381

> Можно как-то избавиться от 'http://localhost', тоесть чтобы подходил
> любой неймспейс, неважно какой указан в файле ?

можно так переписать:
select
     a.b.value('*:Column[1]/@*:Value[1]', 'nvarchar(128)') AS ResourceNumber,
     a.b.value('*:Column[3]/@*:Value[1]', 'nvarchar(128)') AS SSN
from @xml.nodes('//*:Record') a(b)

Posted via ActualForum NNTP Server 1.4

1 дек 09, 17:01    [8004044]     Ответить | Цитировать Сообщить модератору
 Re: Вопрос по xmlns  [new]
sqI
Member [заблокирован]

Откуда: http://rstudio.at.ua
Сообщений: 1667
daw

> Можно как-то избавиться от 'http://localhost', тоесть чтобы подходил
> любой неймспейс, неважно какой указан в файле ?

можно так переписать:
select
     a.b.value('*:Column[1]/@*:Value[1]', 'nvarchar(128)') AS ResourceNumber,
     a.b.value('*:Column[3]/@*:Value[1]', 'nvarchar(128)') AS SSN
from @xml.nodes('//*:Record') a(b)


Большое Спасибо,
Работает :)
1 дек 09, 17:03    [8004065]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить