StringTemplate中的嵌套循环

时间:2010-02-24 12:07:10

标签: c# stringtemplate

我有兴趣使用StringTemplate模板引擎编写类似于嵌套循环的东西。 在C#中有一个HashTable,其中每个Key包含Document对象列表,每个Document都有一个标题和源。我想在电子邮件的开头列出每个来源的文档标题摘要。

<h1>Summary</h1>
<h2>Source A</h2>
<ul>
  <li>title 1</li>
  <li>title 2</li> 
</ul>
<h2>Source B</h2>
<ul>
  <li>title 3</li>
  <li>title 4</li> 
</ul>

使用StringTemplate实现此目的的最佳方法是什么?

2 个答案:

答案 0 :(得分:11)

假设您已将这些转换为适当的数据结构 - Source类包含getNamegetDocuments方法,Document类包含getTitle方法,它看起来像这样:

$
sources:
 {
    source|
    <h2>Source $source.name$ </h2>
    $
    source.documents:
     {
      document|
      <li>title $document.title$</li>
     }
    $
 }
$

答案 1 :(得分:0)

有一篇很好的文章可以帮助您理解StringTemplate的基础知识:

Localizable text template engine using StringTemplate 4