只是想知道我的问题是否有一个简单的方法。如果我想将一大块HTML放入一个字符串中,那么如果不首先转义HTML,怎么可能呢?有太多的HTML用于我的MySpace机器人(插入配置文件),它将永远逃脱。
答案 0 :(得分:3)
根据@MattMitchell的建议,您可以将该文件作为资源包含在项目中。然后你只需要引用它(MyNameSpace.Properties.Resources.MyHTMLFile
)以将内容作为字符串。
答案 1 :(得分:2)
不是。但是你可以使用逐字字符串文字(以@为前缀)使你的生活稍微容易一点 - 你只需要用“with”替换“以逃避字符串。
答案 2 :(得分:2)
将其放入文件中,加载文件。
示例:
string myHTML;
using (FileStream file = new FileStream("path.txt", FileMode, FileAccess))
{
using (StreamReader sr = new StreamReader(file))
{
myHTML = sr.ReadToEnd();
sr.Close();
}
file.Close();
}
如果要在HTML中插入变量,请将变量位置替换为{0} .. {n},然后使用string.Format();
E.g。
<html><div>{0} = {1}</div></html>
并在你的C#中
string myHTMLwithVars = string.Format(myHTML, var1, var2);
或者(如果有很多变量或者订单可能会更改,则更易于管理),在HTML中为每个“变量点”命名并使用字符串替换。
<html><div>{username} = {randomImageFile}</div></html>
c#change:
string myHTMLwithVars = myHTML
.Replace("{username}", usernameVar)
.Replace("{randomImageFile}", "image.jpg");
答案 3 :(得分:0)
为什么不从文件或项目中的嵌入资源中读取此HTML?这样就没有必要逃避。
从文件中读取:
string contents = File.ReadAllText("path/to/file.htm");