Создание тегов параметров из справочной таблицы с использованием функции xml в SQL Server 2008 - PullRequest
1 голос
/ 10 марта 2012

У меня есть справочная таблица, которая содержит эти столбцы:

id, name, value, colx, coly

Я хотел бы иметь возможность генерировать следующий HTML:

    <option value="value1" data-colx="x1" data-coly="y1">name1</option>
    <option value="value2" data-colx="x2" data-coly="y2">name2</option>
    <option value="value3" data-colx="x3" data-coly="y3">name3</option>
    <option value="value4" data-colx="x4" data-coly="y4">name4</option>

Я бы не хотел использовать XSL дляпереформатировать сгенерированный XML.Заранее спасибо.

1 Ответ

1 голос
/ 10 марта 2012

Не должно быть слишком сложно .... попробуйте это:

DECLARE @Test TABLE (id INT, NAME VARCHAR(20), VALUE VARCHAR(20), colx VARCHAR(5), coly VARCHAR(5))

INSERT INTO @test VALUES (1, 'name1', 'value1', 'x1', 'y1'),
(2, 'name2', 'value2', 'x2', 'y2'),
(3, 'name3', 'value3', 'x3', 'y3'),
(4, 'name4', 'value4', 'x4', 'y4')

SELECT 
    value AS '@value',
    colx AS '@data-colx',
    coly AS '@data-coly',
    name AS 'text()'
FROM @Test
FOR XML PATH('option')

Это дает мне вывод, который вы ищете:

<option value="value1" data-colx="x1" data-coly="y1">name1</option>
<option value="value2" data-colx="x2" data-coly="y2">name2</option>
<option value="value3" data-colx="x3" data-coly="y3">name3</option>
<option value="value4" data-colx="x4" data-coly="y4">name4</option>
...