我正在寻找一个独立的,易于使用的C#代码,模板引擎.我想创建一个带有数据占位符的HTML和XML文件,并用我的代码中的数据填充它们.
引擎需要支持循环(复制模板的部分形成多于一个对象)和条件(仅当某些条件为真时才将模板的一部分添加到最终的HTML/XML).有人可以为我推荐一个好的选项,并添加一个或多或少这样的代码示例的链接,以及有关如何使用推荐的组件满足我的需求的一些文档?
我还需要使用循环来复制表行,甚至整个表(在HTML版本中)和复杂元素(在XML版本中).
Sco*_*pey 10
SmartFormat是一个非常简单的库,可以满足您的所有要求.它专注于撰写"自然语言"文本,非常适合从列表生成数据或应用条件逻辑.
语法非常相似String.Format,并且非常简单易学易用.以下是文档中语法的示例:
Smart.Format("{Name}'s friends: {Friends:{Name}|, |, and}", user)
// Result: "Scott's friends: Michael, Jim, Pam, and Dwight"
Run Code Online (Sandbox Code Playgroud)
该库是开源的,易于扩展,因此您还可以使用其他功能对其进行增强.