我有一种情况需要根据一组变量的值从xml中提取不同的语句。 e.g。
if a>10 and b<20 then string="ANCD"
if a>10 and (d+e)<0 then string="DEFG"
else string="XYZ"
而不是在代码中构建这些条件,是否可以在这样的某个结构中将它们干净地放在xml中,并使用代码来解析条件字符串并获取字符串值?
<conditionalstring>
<condition>"a>10 and b<20"</condition>
<string>"ANCD"</string>
</conditionalstring>
<conditionalstring>
<condition>"a>10 and (d+e)<0"</condition>
<string>"DEFG"</string>
</conditionalstring>
<conditionalstring>
<condition>default</condition>
<string>"XYZ"</string>
</conditionalstring>
答案 0 :(得分:1)
您当然可以将您的逻辑存储为XML。问题是,如何解决问题并评估条件?这将取决于您使用的语言和工具。如果您已经有一个表达式解析器可用(例如,如果您使用的是eval()语言,如Perl,Python,Javascript和许多其他语言),您可能可以利用它。如果您在.Net中工作,则可以使用Windows工作流规则引擎(http://msdn.microsoft.com/en-us/library/dd349785.aspx)。否则,您需要借用其他语言的解析器(例如,在.Net或Java中,您可以找到Scheme解释器或Python解释器或其他东西),或者您必须编写自己的解析器。如果您之前没有编写过解析器,那肯定会花些时间,所以您可能需要考虑利用现有解析器。