C#对html的操作
1,获取相对路径的html然后保存到本地路径
/// <summary> /// Html方法 /// </summary> /// <returns></returns> public void CollectionContent(string url) { Response.ContentType = "html/plain"; Response.Charset = "gb2312"; Response.ContentType = "html/html"; Response.Charset = "utf-8"; string htmlContent = clsCommonEx.GetPageHtml(url); try { StreamWriter sw = null; Encoding code = Encoding.GetEncoding("gb2312"); string path = HttpContext.Current.Server.MapPath("/cache/"); string htmlfilename = DateTime.Now.ToString("yyyyMMddHHmmss") + ".html";// 写文件 try { sw = new StreamWriter(path + htmlfilename, false, code); sw.Write(htmlContent); sw.Flush(); } catch (Exception ex) { HttpContext.Current.Response.Write(ex.Message); HttpContext.Current.Response.End(); } finally { sw.Close(); } } catch { Response.Write("The file could not be wirte:"); } }
2,生成html
//生成HTML页 public static bool WriteFile(string strText, string strContent, string strAuthor) { string path = HttpContext.Current.Server.MapPath("/news/"); Encoding code = Encoding.GetEncoding("gb2312"); // 读取模板文件 string temp = HttpContext.Current.Server.MapPath("/news/text.html"); StreamReader sr = null; StreamWriter sw = null; string str = ""; try { sr = new StreamReader(temp, code); str = sr.ReadToEnd(); // 读取文件 } catch (Exception exp) { HttpContext.Current.Response.Write(exp.Message); HttpContext.Current.Response.End(); sr.Close(); } string htmlfilename = DateTime.Now.ToString("yyyyMMddHHmmss") + ".html"; // 替换内容 // 这时,模板文件已经读入到名称为str的变量中了 str = str.Replace("ShowArticle", strText); //模板页中的ShowArticle str = str.Replace("biaoti", strText); str = str.Replace("content", strContent); str = str.Replace("author", strAuthor); // 写文件 try { sw = new StreamWriter(path + htmlfilename, false, code); sw.Write(str); sw.Flush(); } catch (Exception ex) { HttpContext.Current.Response.Write(ex.Message); HttpContext.Current.Response.End(); } finally { sw.Close(); } return true; }