C# 使用参数化模板生成CSS

C# 使用参数化模板生成CSS,c#,asp.net,json,templates,code-generation,C#,Asp.net,Json,Templates,Code Generation,我已经看过帖子:,但它没有回答我的问题。它的文档不仅仅是一个文档,我看不出它做了我想做的事情 我想知道你是否可以迭代一个模板并用一个函数填充值,函数的参数来自模板中的属性。e、 g: "The <comparison property='fruit' value='green'> and the <comparison property='bowl' value='big'>." 我试图基于包含外观设置的JSON对象生成css页面 编辑:我想知道是否有办法从JsonCo

我已经看过帖子:,但它没有回答我的问题。它的文档不仅仅是一个文档,我看不出它做了我想做的事情

我想知道你是否可以迭代一个模板并用一个函数填充值,函数的参数来自模板中的属性。e、 g:

"The <comparison property='fruit' value='green'> and the <comparison property='bowl' value='big'>."
我试图基于包含外观设置的JSON对象生成css页面

编辑:我想知道是否有办法从JsonConvert.DeserializeObject()中获取直接对象。JObject有很多我不需要的信息。

(我不确定这是否是您想要的,但是)我想,您可以将my(显示
JObject.SelectToken
)与regex结合起来创建您自己的模板引擎

string Parse(string json, string template)
{
    var jObj = JObject.Parse(json);
    return Regex.Replace(template, @"\{\{(.+?)\}\}", 
                         m => jObj.SelectToken(m.Groups[1].Value).ToString());
}


你用谷歌搜索过更多的文档吗。也可以看到是的,但是我看到了一个链接,上面说代码正在移动到GitHub,还有一篇文章指出在版本3中正在进行破坏性的更改。也就是说,我可能没有做任何足够复杂的事情,所以谢谢!我正在添加编辑,根据您的输入集中我的问题。谢谢。我最后用了剃须刀引擎。看来它终究会起到最好的作用。
string Parse(string json, string template)
{
    var jObj = JObject.Parse(json);
    return Regex.Replace(template, @"\{\{(.+?)\}\}", 
                         m => jObj.SelectToken(m.Groups[1].Value).ToString());
}
string json = @"{name:""John"" , addr:{state:""CA""}}";
string template = "dummy text. Hello {{name}} at {{addr.state}} dummy text.";

string result = Parse(json, template);