我需要 C# 逻辑来分析 XML 文件中的某些条件。逻辑应该能够评估条件并告诉我最终结果是真还是假:
示例:1:规则(A AND B AND C)在 XML 文件中表示如下:
<Evaluate>
<!-- (A AND B AND C)-->
<AND>
<Condition Name="A" Operator="!=" Value="0"/>
<Condition Name="B" Operator="!=" Value="0"/>
<Condition Name="C" Operator="==" Value="17"/>
</AND>
</Evaluate>
我知道这很简单,但以下是一些需要从 C# 代码评估的复杂规则:示例:2:
<Evaluate>
<!-- (A AND B) OR C -->
<OR>
<Condition Name="C" Operator="==" Value="17"/>
<AND>
<Condition Name="A" Operator="!=" Value="0"/>
<Condition Name="B" Operator="!=" Value="0"/>
</AND>
</OR>
</Evaluate>
示例:3:
<Evaluate>
<!-- (A) OR ((B AND C) OR D)-->
<OR>
<Condition Name="A" Operator="!=" Value="0"/>
<OR>
<Condition Name="D" Operator="!=" Value="0"/>
<AND>
<Condition Name="B" Operator="!=" Value="0"/>
<Condition Name="C" Operator="!=" Value="0"/>
</AND>
</OR>
</OR>
</Evaluate>
示例:4:
<Evaluate>
<!-- (A AND B) OR ((C AND D) OR E)-->
<OR>
<AND>
<Condition Name="A" Operator="!=" Value="0"/>
<Condition Name="B" Operator="!=" Value="0"/>
</AND>
<OR>
<Condition Name="E" Operator="!=" Value="0"/>
<AND>
<Condition Name="C" Operator="!=" Value="0"/>
<Condition Name="D" Operator="!=" Value="0"/>
</AND>
</OR>
</OR>
</Evaluate>
向您解释 Xml 节点:
<Condition Name="D" Operator="!=" Value="0"/>
表示 (D != 0) 与否。
您的帮助将不胜感激。