我有一个项目,其中大量技术规范目前作为HTML文件“发布”。 HTML文件不是托管在Web服务器上,而是压缩并分发以便从PC的本地文件系统进行访问。
我正在探索创建“发布”系统的想法,其中发布者可以根据HTML本身内的自定义标记修改HTML文件的内容。我想这与使用PHP或ASP类似,如果它是基于服务器的。
例如,我可以添加
<Publisher action="___" params="________" />
发布商会检测到“标记”是否存在执行所需的处理,然后将必要的HTML注入替换标记的文件中。
有没有人知道使用基于.NET的技术实现这一目标的方法,或其他方式来实现相同的目标。
答案 0 :(得分:0)
好的,不确定这是否是最优雅的解决方案,它有效。
1)基于Cannot delete directory with Directory.Delete(path, true),我清除了已发布的“网站”的目标。
2)然后,我根据接受的问题Copy the entire contents of a directory in C#解决方案使用代码复制所有文件。
3)我拦截所有“HTM”或“HTML”文件并使用正则表达式查看是否需要任何“处理”。这是基于此处http://msdn.microsoft.com/en-us/library/system.text.regularexpressions.regex.replace(v=vs.71).aspx网站的代码(如下所示)
using System.Text.RegularExpressions;
class RegExSample
{
static string CapText(Match m)
{
// Get the matched string.
string x = m.ToString();
// If the first char is lower case...
if (char.IsLower(x[0]))
{
// Capitalize it.
return char.ToUpper(x[0]) + x.Substring(1, x.Length-1);
}
return x;
}
static void Main()
{
string text = "four score and seven years ago";
System.Console.WriteLine("text=[" + text + "]");
string result = Regex.Replace(text, @"\w+",
new MatchEvaluator(RegExSample.CapText));
System.Console.WriteLine("result=[" + result + "]");
}
}