Come faccio a creare un albero delle espressioni analizzando Xml in C #?
-
19-08-2019 - |
Domanda
Sto cercando di creare un albero delle espressioni analizzando xml usando C #. L'xml sarebbe simile al seguente:
<Expression>
<If>
<Condition>
<GreaterThan>
<X>
<Y>
</GreaterThan>
</Condition>
<Expression />
<If>
<Else>
<Expression />
</Else>
<Expression>
o un altro esempio ...
<Expression>
<Add>
<X>
<Expression>
<Y>
<Z>
</Expression>
</Add>
</Expression>
... qualsiasi suggerimento su dove iniziare sarebbe utile.
Cordiali saluti,
Soluzione
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]));
}
/* ... */
}
}
Altri suggerimenti
Comincerei guardando il DLR, che ha un meccanismo di albero delle espressioni pubblicato.
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow