自动生成html文件

该文章转载自网络大本营:http: // www.xrss.cn/Dev/DotNet/200782716099.Html
 
C# code
using System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.IO;
using System.Text;

/// <summary>
/// WriteFile 的摘要说明
/// </summary>
public class WriteFile
{
public WriteFile()
{

}
   
public static bool createHtml( string [] strnewsHtml, string [] stroldHtml, string strModeFilePath, string strPath)
    {
       
bool flag = false ;
        StreamReader sr
= null ;
        StreamWriter sw
= null ;
       
string filepath = HttpContext.Current.Server.MapPath(strModeFilePath);
        Encoding code
= Encoding.GetEncoding( " gb2312 " );
       
string s = string .Empty;
       
try
        {
            sr
= new StreamReader(filepath,code);
            s
= sr.ReadToEnd();
        }
       
catch (Exception ex)
        {
           
throw ex;
        }
       
finally
        {
            sr.Close();
        }
       
try
        {
           
for ( int i = 0 ; i < strnewsHtml.Length; i ++ )
            {
                s
= s.Replace(stroldHtml[i], strnewsHtml[i]);
            }
            sw
= new StreamWriter(HttpContext.Current.Server.MapPath(strPath), false , code);
            sw.Write(s);
            flag
= true ;
        }
       
catch (Exception ex)
        {
            flag
= false ;
           
throw ex;
        }
       
finally { sw.Flush(); sw.Close(); } return flag;
    }
   
public static bool UpdateHtmlPage( string [] strNewsHtml, string [] strStartHtml, string [] strEndHtml, string strHtml)
    {
       
bool Flage = false ;
        StreamReader ReaderFile
= null ;
        StreamWriter WrirteFile
= null ;
       
string FilePath = HttpContext.Current.Server.MapPath(strHtml);
        Encoding Code
= Encoding.GetEncoding( " gb2312 " );
       
string strFile = string .Empty;
       
try
        {
            ReaderFile
= new StreamReader(FilePath, Code);
            strFile
= ReaderFile.ReadToEnd();

        }
       
catch (Exception ex)
        {
           
throw ex;
        }
       
finally
        {
            ReaderFile.Close();
        }
       
try
        {
           
int intLengTh = strNewsHtml.Length;
           
for ( int i = 0 ; i < intLengTh; i ++ )
            {
               
int intStart = strFile.IndexOf(strStartHtml[i]) + strStartHtml[i].Length;
               
int intEnd = strFile.IndexOf(strEndHtml[i]);
               
string strOldHtml = strFile.Substring(intStart, intEnd - intStart);
                strFile
= strFile.Replace(strOldHtml, strNewsHtml[i]);
            }
            WrirteFile
= new StreamWriter(FilePath, false , Code);
            WrirteFile.Write(strFile);
            Flage
= true ;
        }
       
catch (Exception ex)
        {
           
throw ex;
        }
       
finally
        {

            WrirteFile.Flush();
            WrirteFile.Close();
        }
       
return Flage;
    }

}

调用公共类:
----------------------------------------------------------------------------
protected void Button2_Click( object sender, EventArgs e)
    {
       
string NewsTitle = this .TextBox1.Text;
       
string NewsKindName = this .DropDownList1.SelectedItem.Text;
       
string NewsBody = this .WebEditor1.Text;
        DateTime PubTime
= DateTime.Now;
       
string UserName = Session[ " UserName " ].ToString();
        Response.Write(NewsKindName);
       
string [] strNewsHtml = new string [] { NewsTitle, NewsKindName, NewsBody, PubTime.ToString(), UserName };
       
string [] strOldHtml = new string [] { " @Title " , " @NewsKInd " , " @NewsBody " , " @PubTime " , " @UserName " };
       
string strFileName = DateTime.Now.ToString( " ddhhmmss " ) + " .html " ;
       
string strFilePath = string .Format( " NewsHtml/{0} " , strFileName);
       
try
        {
           
if (WriteFile.createHtml(strNewsHtml, strOldHtml, " mode.htm " , strFilePath))
            {
               
this .Label1.Text = " 生成成功! " ;
            }
           
else
            {
               
this .Label1.Text = " 生成失败! " ;
            }

        }
       
catch
        {
           
this .Label1.Text = " 生成失败! " ;
        }
    }

 
protected void Button3_Click( object sender, EventArgs e)
    {
       
string [] strNewsHtml = new string []{ " 鑫少爷到此一游! " };
       
string [] strStartHtml = new string []{ " <!-- start --> " };
       
string [] strEndHtml = new string []{ " <!--end--> " };
       
if (WriteFile.UpdateHtmlPage(strNewsHtml, strStartHtml, strEndHtml, " NewsHtml/02011139.html " ))
        {
           
this .Label1.Text = " 生成首页成功! " ;
        }
       
else
        {
           
this .Label1.Text = " 生成首页失败! " ;
        }
    }

新建文件夹NewsHtml,生成html文件放在里面
-----------------------------------------------------------

增加一个模板文件

< html xmlns = " http://www.w3.org/1999/xhtml " >
< head >
   
< title > 无标题页 </ title >
</ head >
< body >
   
< table border = " 1 " cellpadding = " 0 " cellspacing = " 0 " style = " width: 522px; height: 338px " >
       
< tr >
           
< td align = " center " colspan = " 2 " >
                @Title
</ td >
       
</ tr >
       
< tr >
           
< td align = " center " colspan = " 2 " >
                发布人:@UserName
& nbsp; & nbsp; 发布时间:@PubTime & nbsp; & nbsp; & nbsp; 新闻类别:@NewsKInd </ td >
       
</ tr >
       
< tr >
           
< td colspan = " 2 " >
                @NewsBody
</ td ></ tr >< tr >
 
< td style = " WIDTH: 100px " >
</ td >< td style = " WIDTH: 100px " >
</ td ></ tr ></ table ></ body ></ html >

你可能感兴趣的:(html)