【问题标题】:How do I Create an Expression Tree by Parsing Xml in C#?如何在 C# 中通过解析 Xml 创建表达式树?
【发布时间】:2023-03-25 19:45:01
【问题描述】:

我希望通过使用 C# 解析 xml 来创建表达式树。 xml 将如下所示:

<Expression>
<If>
  <Condition>
    <GreaterThan>
      <X>
      <Y>
    </GreaterThan>
  </Condition>
  <Expression />
<If>
<Else>
  <Expression />
</Else>
<Expression>

或者另一个例子……

<Expression>
  <Add>
    <X>
    <Expression>
      <Y>
      <Z>
    </Expression>
  </Add>
</Expression>

...任何关于从哪里开始的指示都会有所帮助。

亲切的问候,

【问题讨论】:

    标签: c# .net xml linq expression-trees


    【解决方案1】:
    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]));
           } 
    
          /* ... */
    
        }
     }
    

    【讨论】:

      【解决方案2】:

      我先看看 DLR,它有一个已发布的表达式树机制。

      【讨论】:

        猜你喜欢
        • 2011-11-27
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2010-09-21
        相关资源
        最近更新 更多