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

Откуда:
Сообщений: 84
у меня ест таблица с колонками: ParameterName,ParameterValue.
нужно получить
<XML>
<ParamaterName1>ParameterValue1</ParamaterName1>
<ParamaterName2>ParameterValue2</ParamaterName2>
<ParamaterName3>ParameterValue3</ParamaterName3>
<ParamaterName4>ParameterValue4</ParamaterName4>
</XML>
17 май 11, 17:32    [10666589]     Ответить | Цитировать Сообщить модератору
 Re: XML из таблици Element как параметер  [new]
Владимир СА
Member

Откуда:
Сообщений: 7915
Посмотри bol
for xml
declare @tb1 table(ParameterName varchar(100),ParameterValue int)
insert into @tb1 (ParameterName,ParameterValue)
values ('ParameterName1',54)
      ,('ParameterName2',45)
      ,('ParameterName3',536)
      ,('ParameterName4',678)
      
select * from @tb1 for xml raw, root('xml')
17 май 11, 18:02    [10666932]     Ответить | Цитировать Сообщить модератору
 Re: XML из таблици Element как параметер  [new]
Mishanja
Member

Откуда:
Сообщений: 84
ето не совсем то что я искал.я хотел как то динамочески создат имя элемента
18 май 11, 10:44    [10669509]     Ответить | Цитировать Сообщить модератору
 Re: XML из таблици Element как параметер  [new]
Владимир СА
Member

Откуда:
Сообщений: 7915
Не понял, как?
18 май 11, 10:54    [10669589]     Ответить | Цитировать Сообщить модератору
 Re: XML из таблици Element как параметер  [new]
Владимир СА
Member

Откуда:
Сообщений: 7915
Mishanja
у меня ест таблица с колонками: ParameterName,ParameterValue.
нужно получить
<XML>
<ParamaterName1>ParameterValue1</ParamaterName1>
<ParamaterName2>ParameterValue2</ParamaterName2>
<ParamaterName3>ParameterValue3</ParamaterName3>
<ParamaterName4>ParameterValue4</ParamaterName4>
</XML>
Приведите скрипт таблицы и хотябы 5 записей ее. И какой результат хотите...
18 май 11, 11:14    [10669776]     Ответить | Цитировать Сообщить модератору
 Re: XML из таблици Element как параметер  [new]
Mishanja
Member

Откуда:
Сообщений: 84
записи из таблицы:

Delay ,3600
StartAt,0
Timeout,43200


результат:
<XML>
<Delay>3600</Delay>
<StartAt>0</StartAt>
<Timeout>43200</Timeout>
</XML>
18 май 11, 11:28    [10669913]     Ответить | Цитировать Сообщить модератору
 Re: XML из таблици Element как параметер  [new]
Владимир СА
Member

Откуда:
Сообщений: 7915
declare @tb1 table(ParameterName varchar(100),ParameterValue int)
insert into @tb1 (ParameterName,ParameterValue)
values ('Delay',3600)
      ,('StartAt',0)
      ,('Timeout',43200)

select * from @tb1

declare @txt_xml varchar(max), @par_name varchar(100), @par_val int
SET @txt_xml = '<xml>'
declare t_cursor cursor 
for select ParameterName, ParameterValue from @tb1
OPEN t_cursor
FETCH NEXT FROM t_cursor INTO @par_name, @par_val
WHILE @@FETCH_STATUS = 0
BEGIN
	SET @txt_xml = @txt_xml + '<' + @par_name + '>' + CAST(@par_val as varchar) + '</' + @par_name + '>'
  FETCH NEXT FROM t_cursor INTO @par_name, @par_val
END 
CLOSE t_cursor
DEALLOCATE t_cursor
SET @txt_xml = @txt_xml + '</xml>'

SELECT @txt_xml
18 май 11, 11:51    [10670142]     Ответить | Цитировать Сообщить модератору
 Re: XML из таблици Element как параметер  [new]
Mishanja
Member

Откуда:
Сообщений: 84
спосибо
так я тоже могу ,я думал может есть что то XQuery в что сделает динамический
XML
18 май 11, 12:12    [10670402]     Ответить | Цитировать Сообщить модератору
 Re: XML из таблици Element как параметер  [new]
Владимир СА
Member

Откуда:
Сообщений: 7915
Mishanja
спосибо
так я тоже могу ,я думал может есть что то XQuery в что сделает динамический
XML
Дык если можешь, зачем спрашиваешь? BOL читай...
declare @tb1 table(ParameterName varchar(100),ParameterValue int)
insert into @tb1 (ParameterName,ParameterValue)
values ('Delay',3600)
      ,('StartAt',0)
      ,('Timeout',43200)

select * from @tb1

declare @txt_xml varchar(max)

SET @txt_xml = '<xml>'
SELECT @txt_xml = @txt_xml + '<' + ParameterName + '>' + CAST(ParameterValue as varchar) + '</' + ParameterName + '>'
FROM @tb1
SET @txt_xml = @txt_xml + '</xml>'

SELECT @txt_xml
18 май 11, 12:23    [10670550]     Ответить | Цитировать Сообщить модератору
 Re: XML из таблици Element как параметер  [new]
Mishanja
Member

Откуда:
Сообщений: 84
там ничего не нашел
18 май 11, 12:26    [10670591]     Ответить | Цитировать Сообщить модератору
 Re: XML из таблици Element как параметер  [new]
Владимир СА
Member

Откуда:
Сообщений: 7915
Дык спрашивать тогда надо правильно...
18 май 11, 12:31    [10670654]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить