C# 如何读取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

我目前正在从文件路径加载一个html文件,并将其作为文本读取。然后替换文件本身中的某些字符,并将其转换回html

我现在就是这样做的:

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格式。