.Net:解析包含变量的html

.Net:解析包含变量的html,html,.net,xml,parsing,Html,.net,Xml,Parsing,我有一个包含字段的html,if和foreach具有以下语法: <% if ( obj.DayPeriod == "Morning" ){ %> <h1>Good Morning.</h1> <% if ( obj.User.Name == "Eric" ){ %> <div>Welcome back Eric</div> <div>You have <%= obj.User.ChildrenNumber

我有一个包含字段的html,if和foreach具有以下语法:

<% if ( obj.DayPeriod == "Morning" ){ %>
<h1>Good Morning.</h1>
<% if ( obj.User.Name == "Eric" ){ %>
<div>Welcome back Eric</div>
<div>You have <%= obj.User.ChildrenNumber %> children.</div>
<% } %>
<% } %>
<% } else { %>
<h1>Good Afternoon.</h1>
<% } %>
它还可以包含如下所示的foreach:

<% for each (var c in obj.User.Children) { %>
<tr>... <td>... <%= c.@name %>...
<% } %>
我还有一个xml提要,其结构可以在上面的代码示例中看到:

<obj>
   <DayPeriod>Morning</DayPeriod>
   <User>
       <Name>Eric</Name>
       <ChildrenNumber>2</ChildrenNumber>
       <Children>
       ....
       </ChildrenNumber>
   </User>
</obj>
你知道我如何用xml中包含的内容替换变量来解析和生成html吗? 精度:我无法更改格式,而且我在.Net平台上

这里的结果当然是,这是一个简化的示例,数据是动态的:

<h1>Good Morning.</h1>
<div>Welcome back Eric</div>
<div>You have 2 children.</div>

如果标记是用视图引擎呈现的,那么除了for-each语法错误外,它看起来像普通的视图代码,应该是foreach,那么我想您需要做的就是将XML反序列化为一个对象,并将该对象传递给该视图引擎。或者,您希望创建一个视图引擎吗?也就是说,您是否希望在该视图中解析并解释实际代码?因为那是。。。不平凡。谢谢。我想我可以在解释之前更改foreach for each,这不是问题。我不使用视图引擎,html是由第三方生成的,我不知道它们使用什么…如果您真的需要为此编写自己的语言解析器,那么MVC Razor源代码可能是一个很好的起点。也许其他人有更好的起点。我从来没有写过语言解析器,但这正是我要从这里开始的。如果有编写自定义ASP.NET MVC视图引擎的教程,那可能会很有帮助。从结构上说,这正是你正在做的。您有一个视图模板和一个模型对象,您希望将它们绑定在一起。理想情况下,我更希望使用现有的引擎,只需稍微修改输入,但哪个引擎可以工作?