2010-02-24 8 views
7

Je suis intéressé à écrire quelque chose de similaire à une boucle imbriquée en utilisant le moteur de gabarit StringTemplate. En C# a une table de hachage dont chaque clé contient la liste des objets de document, chaque document a un titre et une source. Je voudrais énumérer au début d'un email, un résumé des titres de document par source.Boucle imbriquée dans StringTemplate

<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> 

Quelle est la meilleure façon d'accomplir cela avec StringTemplate?

Répondre

11

En supposant que vous avez transformé ces structures de données appropriées - Source classe ayant getName et getDocuments méthodes et Document méthode classe ayant getTitle, il ressemblera à ceci:

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

C'est une bonne réponse pour les objets généraux, mais ne w ork pour un HashTable. –

+1

Pourriez-vous me montrer à quoi ressemblent vos objets de hashtable et de document? Avec hashtable, vous pouvez utiliser la syntaxe 'ht.keys: {k | something}'. – viaclectic

Questions connexes