使用SQL从HTML标记生成有效的HTML
问题描述:
我有一个包含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>
答
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,'<','<'),'>','>')
from Tags1, Tags2
你尝试过什么?另外,我真的很难想象一个没有更好的方式来实现你想要的东西的情况。为什么你需要以这种方式获得表格? – Hecksa 2012-02-07 12:12:37
涉及的表单在哪里?这些标签中只有FONT在表单内有效。特殊情况下的逻辑将是必要的,因为其中一些标签嵌套在其他标签中,并且在表格数据中没有任何标识,这6个元素是否总是以相同的ID存在?您需要扩展您的问题以获得更好的答案 – 2012-02-07 12:15:51
我使用的是从数据库生成html的系统。坦率地说,整个系统是疯狂的。诚实 - 不要这样做。例如,你将如何设计输出风格。属性?内文。我头疼。如果你必须这样做,那么将内容生成为XML(如下面的答案),然后用XSTL进行转换。我甚至不相信这是一个好主意。 – 2012-02-07 12:29:44