Добро пожаловать в форум, Guest >> Войти | Регистрация | Поиск | Правила | | В избранное | Подписаться | ||
Все форумы / Microsoft SQL Server |
![]() ![]() |
Max_Tpop Member Откуда: Сообщений: 103 |
Как можно изменить значение элемента, зная название атрибута? Надо у атрибута ID3 изменить значение элемента Value Пробовал так: declare @value nvarchar(50) = N'100' declare @xml xml = N' <Parameters> <Parameter Name="ID"> <Values> <Value>123</Value> </Values> </Parameter> <Parameter Name="ID2"> <Values> <Value>1</Value> <Value>2</Value> <Value>3</Value> </Values> </Parameter> <Parameter Name="ID3"> <Values> <Value>333</Value> </Values> </Parameter> </Parameters>' Select @xml declare @sql nvarchar(1000) Set @sql = N'Set @xml.modify(''replace value of (/Parameters/Parameter[@Name=ID3]/Values/Value/text())[1] with "'+ @value +'"'')' EXEC sp_executesql @sql, N'@xml xml OUTPUT', @xml = @xml output Select @xml Но увы, результаты нулевые, если убрать [@Name=ID3], то значение меняется у первого атрибута. Как изменить значение с привязкой к атрибуту? Есть идейки? ЗЫ: С xml практически не работаю, так что если есть ошибки, то сильно не пинайте) |
22 июл 13, 16:51 [14600149] Ответить | Цитировать Сообщить модератору |
мимо
Guest |
Max_Tpop, [@Name="ID3"]/ |
22 июл 13, 16:59 [14600192] Ответить | Цитировать Сообщить модератору |
Max_Tpop Member Откуда: Сообщений: 103 |
мимо, Спасибо! То что надо |
22 июл 13, 17:02 [14600212] Ответить | Цитировать Сообщить модератору |
Все форумы / Microsoft SQL Server | ![]() |