¿Cómo creo un árbol de expresiones al analizar Xml en C #?

Estoy buscando crear un árbol de expresiones analizando xml usando C #. El xml sería como el siguiente:

              

u otro ejemplo …

          

… cualquier indicador sobre dónde comenzar sería útil.

Saludos cordiales,

 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])); } /* ... */ } } 

Comenzaría mirando el DLR, que tiene un mecanismo de árbol de expresión publicado.