public void getHtmlSitemapData(StreamWriter writerFile)
{
string classTableName = "ArticleClass";
string articleItemTableName = "ArticleItem";
string connectionString = ConfigurationManager.AppSettings["SQLConnString"].ToString();
SqlConnection conn = new SqlConnection(connectionString);
if (conn.State == ConnectionState.Closed)
{
conn.Open();
}
//查询大类信息
SqlDataAdapter classDataAdpt = new SqlDataAdapter("SELECT Id, Classname FROM " + classTableName, connectionString);
DataSet classDataSet = new DataSet();
classDataAdpt.Fill(classDataSet, classTableName);
writerFile.WriteLine("<table border='1' width='1000px'cellspacing='0' cellpadding='0'>");
//按照大类信息来查取各个大类下的文章信息
for (int i = 0; i < classDataSet.Tables[0].Rows.Count; i++)
{
string tempsql = "SELECT Id, ArticleTitle, Parentid FROM " + articleItemTableName + " where Parentid = " + classDataSet.Tables[0].Rows[i][0].ToString();
SqlCommand cmd = new SqlCommand(tempsql, conn);
if (conn.State == ConnectionState.Closed)
{
conn.Open();
}
SqlDataReader rdr = cmd.ExecuteReader(CommandBehavior.CloseConnection);
if (rdr.HasRows)
{
int classId = 0;
int rowNum = 0;//记录处理了篇文章信息
int memberInLine = 5;//每行显示多少篇文章的链接信息
while (rdr.Read())
{
//处理大类信息,大类也需要以超链接的方式写入html文件
if (classId != int.Parse(rdr[2].ToString()))
{
rowNum = 0;
classId = int.Parse(rdr[2].ToString());
writerFile.WriteLine("<tr>");
writerFile.WriteLine("<td colspan='5'>");
writerFile.WriteLine("<a style='font-size:15px;font-weight:bold;' target='_blank' href='http://www.chituwang.com/Article/index.aspx?parentid=" + classDataSet.Tables[0].Rows[i][0].ToString() + "'>" + classDataSet.Tables[0].Rows[i][1].ToString() + "</a>");
writerFile.WriteLine("</td>");
writerFile.WriteLine("</tr>");
}
//处理文章信息
rowNum++;
if (1 == (rowNum % memberInLine))//a new line
{
writerFile.WriteLine("<tr>");
}
writerFile.WriteLine("<td style='width:200px'>");
writerFile.WriteLine("<a target='_blank' href='http://www.chituwang.com/Article/index.aspx?articleid=" + rdr[0].ToString() + "'>" + rdr[1].ToString() + "</a>");
writerFile.WriteLine("</td>");
if (0 == (rowNum % memberInLine))//a new line
{
writerFile.WriteLine("</tr>");
}
}
}
rdr.Close();
}
writerFile.WriteLine("</table>");
}
三、XML网站地图的生成
XML网站地图的生成与Html不同点在于,Google等搜索引擎对这种网站地图的格式有严格的要求,必须遵守,否则不会被他们承认。具体xml文件格式可参考http://www.chituwang.com/Article/WZJS/detail.aspx?articleid=18092
createXMLSitemap()函数的实现如下:
public void createXMLSitemap()
{
FileInfo XMLFile = null;








