 <p>Personally, I'd combine method two and three: Just create a generic XML document using reflection, say:</p> <pre><code>&lt;object type="xxxx"&gt; &lt;property name="ttt" value="vvv"/&gt; ... &lt;/object&gt; </code></pre> <p>and use an XSTL stylesheet to create the actual HTML from this.</p>