【发布时间】:2017-10-01 20:44:29
【问题描述】:
我想创建一个包含一组规则的 XML 文件,这些规则可以用作我的程序的外部输入。然后,我的程序将解析该 XML 并将该规则集转换为代码。
XML 格式应该是我可以转换为简单的if 语句的格式。
例如,如果我有这样的事情:
<rule variable='email' value='abc@gmail.com'>
<or>
<and>
<condition name=x operator='!=' value=1>
<condition name=y operator='>' value=5>
</and>
<condition name=z operator='=' value='abc'>
</or>
</rule>
我会这样翻译成C#:
if ( (x != 1) && (y > 5)) || (z = 'abc'))
email = 'abc@gmail.com';
我很确定这种 XML 结构在某个地方,找不到。
我正在寻找 XML 格式,我可以从中创建一个 XSD 用于验证和 C# 代码。如果您知道某个地方是否可以执行一个或多个此类组件,那就太好了。
【问题讨论】:
-
您也许可以使用来自
System.CodeDom命名空间的工具来做一些事情。这是xsd.exe用来进行代码生成的东西。有关现有问题,请参阅标签 codedom,例如how to generate if condition block by CodeDOM or LinqExpression Dynamiclly?.