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

Откуда:
Сообщений: 1
Привет, каким образом нужно указывать порядковый номер нужного элемента в цикле?
Set @xml=‘
<Root>
<row>1</row>
<row>2</row>
<row>3</row>
</root/>’

Set @i=0
Set @value=@xml.value(/root/row/@value[1],varchar(10)) — так указываем первый элемент
While @value is not null
Begin
Set @i=@i+1

Set @value=@xml.value(/root/row/@value[как здесь указать переменную @i],varchar(10))
Loop
End


Сообщение было отредактировано: 18 окт 18, 00:13
18 окт 18, 00:06    [21707260]     Ответить | Цитировать Сообщить модератору
 Re: Xml перебрать значения в цикле  [new]
felix_ff
Member

Откуда: Moscow
Сообщений: 1172
Be_rude,

вы придумываете какой то свой синтаксис. может лучше огласите первичную задачу которую пытаетесь решить?
18 окт 18, 01:24    [21707291]     Ответить | Цитировать Сообщить модератору
 Re: Xml перебрать значения в цикле  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 30801
felix_ff
Be_rude,

вы придумываете какой то свой синтаксис
Вот вот, ТС хотя бы работающий пример выложил (XML у него невалидный, получение первого элемента некорректное)

Если решать не задачу получения произвольного элемента XML в динамике по порядковому номеру, а задачу из заголовка "Xml перебрать значения в цикле", то её можно решать получением всех элементов в временную таблицу, и перебиранием их с помощью курсора
18 окт 18, 08:15    [21707354]     Ответить | Цитировать Сообщить модератору
 Re: Xml перебрать значения в цикле  [new]
Сон Веры Павловны
Member

Откуда:
Сообщений: 5642
alexeyvg
XML у него невалидный

не well-formed
18 окт 18, 09:30    [21707419]     Ответить | Цитировать Сообщить модератору
 Re: Xml перебрать значения в цикле  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 30801
Сон Веры Павловны
alexeyvg
XML у него невалидный

не well-formed
Не знаю, что такое well-formed, но вот это: </root/> выглядит странно, как и незакрытая нода root
19 окт 18, 10:41    [21708611]     Ответить | Цитировать Сообщить модератору
 Re: Xml перебрать значения в цикле  [new]
Сон Веры Павловны
Member

Откуда:
Сообщений: 5642
alexeyvg
Не знаю, что такое well-formed, но вот это: </root/> выглядит странно, как и незакрытая нода root

Well-formed - просто правильно сформированный. Валидный - правильно сформированный и прошедший проверку правил (схема, DTD).
19 окт 18, 11:37    [21708786]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить