2011-04-19 73 views
1

我可以在我的代码中使用xml/xslt进行动态html生成,并在数据集中使用我的数据。xslt&xml动态html

我有一个要求,我将不得不在我的主页显示前5名新闻。所以我有T热是:页面加载

  • 后,我会调用Web服务,这将送我的我的前5名新闻 HTML版本。 (Ajax 方式)
  • 使用JavaScript我将在 div标记中插入返回的格式化html字符串。

好吧, 但我一直在寻找一些生成格式化html的好方法。我的实际数据在DataTable中。我想知道这可以通过xslt & xml来完成。

我以前使用过StringBuilder的方式来制作动态html,但我不觉得它不是首选的方式,因为如果以后我不得不添加一些额外的格式,那么我必须再次修改我的代码&发布该DLL。

只是想知道什么技术应该用于这种情况。需要您的宝贵建议,如果可能的话,样本链接

样品数据表:

Id- Heading - Description - link 
1 - hello - how are you - yahoo.com 
2 - bye  - I am leaving - google.com 

样本输出HTML:

<table> 
<tr id='1'> 
<td >hello</td><td ><a href='yahoo.com'>how are you</a></td> 
</tr> 
<tr id='1'> 
<td >bye</td><td ><a href='google.com'>I am leaving</a></td> 
</tr> 
</table> 

感谢&亲切的问候。
M

+0

没有比这里偏离主题的Web应用程序设计等问题。 – 2011-04-19 12:38:27

回答

1

是的 - 你可以使用xml/xslt来生成html。这种方法的唯一问题是获取数据的xml序列化 - data-table支持它,但与说手工制作的xml相比,它的模式很复杂 - 所以编写xsl变得有点困难。然后有明显的性能成本 - 第一个datatore datatable,然后datatable到xml,然后xml到xslt。你可以通过直接从数据库中获取xml来避免一些错误(这也可以让你控制模式)。就个人而言,只有当我有很多这样的转换要做时,我才会转到xml/xslt路由。

你也有一些替代方案:

  1. 用户服务器端模板 - 例如,用户aspx页面或用户控件和数据绑定语法生成HTML(使用HttpServerUtility.Execute得到的服务代码HTML页面)

  2. 我最喜欢的是从服务中返回JSON对象并在java-script中执行html生成。您可以使用客户端模板为目的 - 看how to do it with microsoft way或使用纯JS的模板引擎如jsTemplatejTemplates

0

您可以使用本机XslTransform类,或者您可以选择多个开源实现之一。

+0

好吧,让它简单..我怎样才能生成一个漂亮的格式化动态html与来自DataTable的数据? – thinkmmk 2011-04-20 06:00:01