2012-02-07 3 views
0

私はHTMLタグを含むテーブルを持っています。 私はちょうどこの表を使用してHTML FORMを作成したいと思います。例えば、HTML FOrmat です。HTMLタグから有効なHTMLを作成するSQLを使用

ID Tags 
-- ---- 
1 Html 
2 Head 
3 Title 
4 Meta 
5 Body 
6 Font 

結果が

ID HTML         
-- ------------------------------------------------------------------------------------ 
1 <Html> <Head> <Title></Title> <Meta></Meta> </Head><Body> <Font></Font></Body</Html> 
+0

する必要がありますあなたは何を試してみましたか?また、あなたが望むものを達成するためのより良い方法がない状況を想像するのは本当に苦労します。なぜこのようにフォームを取得する必要がありますか? – Hecksa

+1

フォームはどこにありますか?これらのタグのうちFONTはフォーム内でのみ有効です。これらのタグのいくつかが他のタグの中に入れ子になっているため、特別なケースのロジックが必要であり、テーブルのデータに6つの要素が常に同じIDで表示されている兆候はありませんか? –

+1

私はデータベースからhtmlを生成するシステムで作業しています。率直に言って、システム全体が狂っている。正直なところ - それはしないでください。例えば、出力をどのようにスタイルするか。属性??内部テキスト。頭が痛い。これを行う必要がある場合は、コンテンツをXMLとして生成し(以下の回答のように)、XSTLで変換します。私はこれが良い考えだと確信していない。 –

答えて

1
declare @t table(id int, tags varchar(50)) 
insert into @t values 
     (1, 'Html'), 
     (2, 'Head'), 
     (3, 'Title'), 
     (4, 'Meta'), 
     (5, 'Body'), 
     (6, 'Font') 

;with Tags1 as 
(
    select xml1 = (select '<' + tags + '>' from @t for xml path ('')) 
) 
,Tags2 as 
(
    select xml2 = (select '</' + tags + '>' from @t order by id desc for xml path ('')) 
) 
select replace(replace(Tags1.xml1 + Tags2.xml2,'&lt;','<'),'&gt;','>') 
from Tags1, Tags2 
関連する問題