2012-03-10 70 views
2

我有一个包含这些列的查询表:生成选项标签2008

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

应该不会太难....试试这个:

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> 
+0

这工作,非常感谢你。 – jquerybug 2012-03-12 05:03:26