【问题标题】:Nested loop in StringTemplateStringTemplate 中的嵌套循环
【发布时间】:2011-01-20 12:18:16
【问题描述】:

我有兴趣使用 StringTemplate 模板引擎编写类似于嵌套循环的内容。 在 C# 中有一个 HashTable,其中每个 Key 包含 Document 对象的 List,每个 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 完成此任务的最佳方法是什么?

【问题讨论】:

    标签: c# stringtemplate


    【解决方案1】:

    假设您已将这些转换为适当的数据结构——Source 类具有 getNamegetDocuments 方法,Document 类具有 getTitle 方法,它将如下所示:

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

    【讨论】:

    • 这对于一般对象来说是一个很好的答案,但不适用于 HashTable。
    • 你能告诉我你的哈希表和文档对象的样子吗?使用 hashtable,你可以使用ht.keys:{k|something} 语法。
    【解决方案2】:

    有一篇不错的帖子可以帮助你了解 StringTemplate 的基础知识:

    Localizable text template engine using StringTemplate 4

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-01-27
      • 2015-06-05
      • 2015-11-22
      • 2022-01-21
      • 2017-09-18
      • 2017-05-22
      • 2020-07-28
      • 1970-01-01
      相关资源
      最近更新 更多