在做一个客户的项目, 
想实现如下: 
1. 开发时候定义 模板语言,方便客户制作模板网页,定义基本的为 
<fx:datalist table="users_db" dis="all"> 
用户名:{fxd.uname}---性别:{fxd.usex} 
</fx:datalist> 
属性 dis为查询的字段,table属性为 表名。  <fx:***> 这样的格式为标签的基本开头。可能有其他如 
<fx:getjs file="http://www.mmgg.com/js/mor.js"> </fx:getjs> 这样也是实现提取 file的值然后返回 导入那个js的代码 
我如果要实现以上的 <fx:*** ***="***"> </fx:***> 中间的* 是不定的,可能要返回别的字符串,大概要学习正则表达式吧 
,然后提取这些重要的信息?然后根据xml对应的方法来做处理? 2.对以上的功能要求是灵活的,比如 <fx:datalist 这个"datalist"是可以别的,里面的属性"table"也可能是别的,或者属性更多些,比如 <fx:datalist table="" dis="" mm="" cc="">这样的。我是放在xml里面么?对应的方法也放里面? 大家有没有好的思路呢? 

解决方案 »

  1.   

    模板引擎,也可使用序列化XML实现解析
    看看Smart Code
    NDOGenerator 
      

  2.   

    我也正在研究自己做了一个简单的cms,但是不够灵活。现在正在研究stringtemplate 有兴趣的话一起研究一下
      

  3.   

    1.使用正则匹配解析模板 
    2.定制自己的关键字,每一个关键字都有相对应的处理程序 
    举个例子: 
    <[Field {T:'UserDefine.ResumeRes',F:'PersonalMaterial'}]> </[Field]> 
    这是我在写模板引擎的一个规则吧 
    Field表示是值字段,T表示属性(表名),F也是属性(字段名) 
    定义这样很多的关键字,解析关键字,根据关键字和属性值处理
      

  4.   

    主要就是取标签里面提供的参数,后台根据参数生成sql语句,查询后替换标签需要掌握正则表达式知识
      

  5.   

    只要可替换的参数的规则定了,就是循环数据库里的字段,
    执行String.Replace("模板规则(字段)",“字段.ToString()”);public string 模板规则(string 字段)
    {}