Я выбираю данные из XML-документа, однако мне нужно прокрутить каждый дочерний узел, чтобы выполнить некоторые действия над ними.SQL Выберите узлы XML, введите номер узла параметрирования
В настоящее время у меня есть цикл while вокруг select, но не знаю, как параметризовать номер узла.
Я понимаю, что нижеследующее не так, но было бы признательно, если бы кто-то мог указать лучший способ параметризации выбора узла.
Спасибо.
DECLARE @nodeCount varchar(1) = '1'
WHILE EXISTS (SELECT table.value('(Info/Data/DataInfo/Type/node())[' + @nodeCount + ']', 'nvarchar(10)') from table)
XML, заключается в следующем:
<Info xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<Data>
<DataInfo>
<Description>11111111111</Description>
<Type>1</Type>
</DataInfo>
<DataInfo>
<Description>2222222222222</Description>
<Type>2</Type>
</DataInfo>
<DataInfo>
<Description>3333333333333</Description>
<Type>3</Type>
</DataInfo>
</Data>
</Info>
Можете ли вы показать нам образец этого XML? Как это выглядит, и что вы пытаетесь сделать на этих узлах XML? –
XML был опубликован выше. Мне просто нужен способ получить данные от каждого узла по отдельности. Я могу выбрать узел, пройдя число, но нужно сделать его динамическим. – JIbber4568
Можете ли вы использовать что-то вроде 'table.nodes ('/ Info/Data/DataInfo')' и перебирать этот список узлов XML, которые вы возвращаете? –