解析用于邮件合并的字符串



我正在做一个c#项目,让我们假设我有一个包含如下内容的字符串:

string content = "[IF FullName = 'Bob Smith']Hello my friend";
content += "[ELSEIF TotalPurchases > 1000]Dear valued customer";
content += "[ELSE]Dear [FirstName]";
content += "[ENDIF]";

,让我们假设我有一个键/值字典,其中键是"FullName"one_answers"TotalPurchases",值是"Jane Doe"one_answers"500"。什么是解析内容的好方法,最重要的是评估"IF…ELSE…ENDIF"?

是否有一个我可以利用的开源项目,或者我应该自己写代码来解析内容?

我有点糊涂了。这真的是你的字符串吗,还是你说的是c#源代码生成的字符串?

我假设是后者,我可能只是自己解析它,因为它不是过于复杂和有些专门化。我还编写了一个文本解析器帮助类,它可以帮助您。

一个选择是用实际的c# If语句逻辑替换上面的'If Else End If'文本数据,并在运行时编译动态构建的c#文本来评估你的If逻辑。处理这个动态c#编译的主要类是CSharpCodeProvider类

CsharpCodeProvider信息http://msdn.microsoft.com/en-us/library/microsoft.csharp.csharpcodeprovider.aspx

相关内容

  • 没有找到相关文章

最新更新