1

データセット内のデータを使用して、コードビハインドでダイナミックHTMLを生成するためにxml / xsltを使用できますか?

ホームページにトップ5のニュースを表示する必要があるという要件があります。だから私が持っているのは:

  • ページが読み込まれた後、トップ5ニュースのhtmlバージョンを送信するWebサービスを呼び出します。(エイジャックスウェイ)
  • javascriptを使用して、返されたフォーマットされたhtml文字列をdivタグ内に挿入します。

わかりました、しかし私はフォーマットされたhtmlを生成するいくつかの良い方法を探していました。私の実際のデータはDataTable内にあります。これがxslt&xmlで実行できるかどうか疑問に思いました。

以前、DataTableを初期化した後にStringBuilderの方法を使用してダイナミックHTMLを作成しましたが、後でフォーマットを追加する必要がある場合は、コードを再度変更してdllを公開する必要があるため、これが好ましい方法ではないと思います。

そのような種類のシナリオにどのような手法を使用すべきかを知りたかっただけです。貴重な提案と、可能であればサンプルリンクが必要です。

サンプルDataTable:

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

4

2 に答える 2

1

はい-htmlの生成にはxml/xsltを使用できます。このアプローチの唯一の問題は、データのxmlシリアル化を取得することです-data-tableはそれをサポートしますが、そのスキーマは手作りのxmlと比較して複雑です-したがって、xslの記述は少し難しくなります。次に、明らかなパフォーマンスコストがあります。最初にdatatoreをdatatableに、次にdatatableをxmlに、次にxmlをxsltに変換します。データベースからxmlを直接フェッチすることで、一部を回避できます(これにより、スキーマを制御することもできます)。個人的には、そのような変換を行う必要がある場合にのみ、xml/xsltルートに移動します。

また、いくつかの選択肢があります。

  1. ユーザーサーバー側のテンプレート-たとえば、ユーザーaspxページまたはusercontrolとデータバインディング構文を使用してhtmlを生成します(HttpServerUtility.Executeを使用してサービスコードでページhtmlを取得します)

  2. 私のお気に入りは、サービスからJSONオブジェクトを返し、java-scriptでhtmlを生成することです。この目的のためにクライアント側のテンプレートを使用できます-Microsoftの方法で、またはjsTemplatejTemplatesなどの純粋なjsテンプレートエンジンを使用してそれを行う方法を参照してください

于 2011-04-19T11:33:36.237 に答える
0

ネイティブの XslTransform クラスを使用するか、多くのオープンソース実装から 1 つを選択できます。

于 2011-04-19T11:15:16.493 に答える