C#에서 XML을 구문 분석하여 표현식 트리를 만드는 방법은 무엇입니까?
-
19-08-2019 - |
문제
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>
... 어디서부터 시작 해야하는지에 대한 포인터는 도움이 될 것입니다.
친절한 안부,
해결책
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]));
}
/* ... */
}
}
다른 팁
발표 된 발현 트리 메커니즘이있는 DLR을 보면서 시작했습니다.
제휴하지 않습니다 StackOverflow