我如何创建一个防爆pression通过解析XML在C#树? [英] How do I Create an Expression Tree by Parsing Xml in C#?
本文介绍了我如何创建一个防爆pression通过解析XML在C#树?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我期待通过创建使用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]));
}
/* ... */
}
}
这篇关于我如何创建一个防爆pression通过解析XML在C#树?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文