2012-02-07 38 views
0

我有一個包含HTML標記的表。 我只是想創建一個HTML FORM使用這個表格是HTML FOrmat 例如。使用SQL從HTML標記生成有效的HTML

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 2012-02-07 12:12:37

+1

涉及的表單在哪裏?這些標籤中只有FONT在表單內有效。特殊情況下的邏輯將是必要的,因爲其中一些標籤嵌套在其他標籤中,並且在表格數據中沒有任何標識,這6個元素是否總是以相同的ID存在?您需要擴展您的問題以獲得更好的答案 – 2012-02-07 12:15:51

+1

我使用的是從數據庫生成html的系統。坦率地說,整個系統是瘋狂的。誠實 - 不要這樣做。例如,你將如何設計輸出風格。屬性?內文。我頭疼。如果你必須這樣做,那麼將內容生成爲XML(如下面的答案),然後用XSTL進行轉換。我甚至不相信這是一個好主意。 – 2012-02-07 12:29:44

回答

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