HTML生成的替代方法

时间:2011-03-31 14:03:12

标签: c# html xml xslt

我的程序通过stringbuilder生成HTML。

         sbHTMLHeader.Append("<div id=\"printableContent\">");
         sbHTMLHeader.Append("<div id=\"packingSlipHeader\">");
         sbHTMLHeader.Append("<div class=\"floatLeft\"><img src=\"../images/logo.gif\" alt=\"Logo\" /></div>");
//...
if (!orderType.Equals("L"))
            {
                sbHTMLHeader.Append("     <td>" + orderData.Tables[0].Rows[0]["carrier"] + "</td>" + Environment.NewLine);
                //...
            }
            else
            {
                sbHTMLHeader.Append("     <td></td>" + Environment.NewLine);
                 //...
            }
//...

380行之后,我对这段代码充满热情。在过去,我使用Altova Stylevision.在我目前的工作中,我们没有产品许可证。我不需要它提供的任何PDF或其他模板,只需HTML。您能否建议一个强大的,可读的替代方法来生成如上所述的HTML?

3 个答案:

答案 0 :(得分:2)

另一种方法是将所有数据存储在XML文件中,并编写一个将其转换为HTML的XSLT(转换表)。

答案 1 :(得分:1)

通常我可以推荐:Html Agility Pack

在另一种方法中,您可以使用System.Web.UI.HtmlControls命名空间中的类来创建html。

答案 2 :(得分:1)

您绝对可以使用NVelocity来帮助生成这样的模板化HTML。 basic syntax很简单,你可以变得非常复杂。应该为您节省大量繁琐的编码,并且不需要事先按摩您的输入数据。