Reputation: 6082
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,
Upvotes: 4
Views: 2503
Reputation: 100027
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]));
}
/* ... */
}
}
Upvotes: 5
Reputation: 39520
I'd start by looking at the DLR, which has a published expression tree mechanism.
Upvotes: 0