C# 如何读取HTML模板,替换文本并转换回HTML
我目前正在从文件路径加载一个html文件,并将其作为文本读取。然后替换文件本身中的某些字符,并将其转换回html 我现在就是这样做的:C# 如何读取HTML模板,替换文本并转换回HTML,c#,html,.net,asp.net-core,html-agility-pack,C#,Html,.net,Asp.net Core,Html Agility Pack,我目前正在从文件路径加载一个html文件,并将其作为文本读取。然后替换文件本身中的某些字符,并将其转换回html 我现在就是这样做的: HtmlDocument document = new HtmlDocument(); document.Load(@message.Location); content = document.DocumentNode.OuterHtml; //Code to replace text var eContent = HttpUtility.HtmlEncod
HtmlDocument document = new HtmlDocument();
document.Load(@message.Location);
content = document.DocumentNode.OuterHtml;
//Code to replace text
var eContent = HttpUtility.HtmlEncode(content);
当我调试并检查eContent包含的内容时,我可以看到换行符,如“\r\n”。如果我将文本复制并粘贴到.html文件中,只会显示文本,而不是正确的html页面
我已经在使用Html AgilityPack了,不确定我还需要做什么
编辑:
我也试过了
var result = new HtmlString(content);
HtmlAgilityPack非常适合读取和修改无法创建可读输出的Html文件
我在使用
string savePath = "path to save html file, ie C://myfile.html";
string textRead = File.ReadAllText(@"Path of original html file");
//replace or manipulate as needed... ie textRead = textRead.Replace("", "");
File.WriteAllText(savePath, textRead);
尝试使用继承的。只需记住将ContentType
设置为text/html
[HttpGet]
public IActionResult FileToTextToHtml()
{
string fileContents = System.IO.File.ReadAllText("D:\\HtmlTest.html");
var result= new ContentResult()
{
Content = fileContents,
ContentType = "text/html",
};
return result;
}
是的,但我不想把它写进文件。我需要字符串通过另一个函数发送。然后删除File.WriteAllText并将字符串textRead传递到任何需要的地方,它将保留其所有标记和HTML格式。