我期待通过创建使用C#解析XML的前pression树。 该XML将是这样的:
<防爆pression>
<如果>
<条件>
< GREATERTHAN>
&其中X - GT;
< Y>
< / GREATERTHAN>
< /条件>
<防爆pression />
<如果>
<否则>
<防爆pression />
< / ELSE>
<防爆pression>
或另一个例子......
<防爆pression>
<添加>
&其中X - GT;
<防爆pression>
< Y>
< Z>
< / EX pression>
< /添加>
< / EX pression>
...从哪里开始将是有益的指针。
亲切的问候,
解决方案 使用System.Linq.Ex pressions; //在System.Core.dll的
防爆pression BuildExpr(XmlNode的的xmlNode)
{开关(xmlNode.Name)
{案添加:
{返回前pression.Add(BuildExpr(xmlNode.ChildNodes [0])
,BuildExpr(xmlNode.ChilNodes [1]));
}
/ * ... * /
}
}
I am looking to create an expression tree by parsing xml using C#. The xml would be like the following:
<Expression>
<If>
<Condition>
<GreaterThan>
<X>
<Y>
</GreaterThan>
</Condition>
<Expression />
<If>
<Else>
<Expression />
</Else>
<Expression>
or another example...
<Expression>
<Add>
<X>
<Expression>
<Y>
<Z>
</Expression>
</Add>
</Expression>
...any pointers on where to start would be helpful.
Kind regards,
解决方案using System.Linq.Expressions; //in System.Core.dll
Expression BuildExpr(XmlNode xmlNode)
{ switch(xmlNode.Name)
{ case "Add":
{ return Expression.Add( BuildExpr(xmlNode.ChildNodes[0])
,BuildExpr(xmlNode.ChilNodes[1]));
}
/* ... */
}
}