2011-04-19 106 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