C#对html的操作
1,获取相对路径的html然后保存到本地路径
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 | /// <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
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 | //生成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 ; } |
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律