如何建立自己的新闻发布系统?

2006-10-14 10:35:42  作者
下面是一个建立新闻发布系统的程序,不用和数据库打交道哦
步骤
(1).在vs2005中新建网站,新建三个aspx网页,分别命名title.aspx,news.aspx,main.aspx其中title.aspx用来设置标题,可以自己设计,写几个字也行,news.aspx用来显示新闻标题,main.aspx用来显示新闻内容。
(2).新建htm页,用来设计框架。代码如下
%26lt;html xmlns="http://www.w3.org/1999/xhtml" %26gt;
%26lt;head%26gt;
%26lt;title%26gt;无标题页%26lt;/title%26gt;
%26lt;/head%26gt;
%26lt;frameset border="0" bordercolor="#6699cc" framespacing="3" id="fsTop" rows="85,*"%26gt;
%26lt;frame frameborder="no" marginheight="0" marginwidth="0" name="title" noresize scrolling="no" src="title.aspx" %26gt;
%26lt;frameset border="0" frameborder="1" framespacing="3" cols="110,*"%26gt;
%26lt;frame frameborder="0" marginheight="0" marginwidth="0" name="dir" src="news.aspx" style="BORDER-RIGHT: #99ccff 1px solid; BORDER-TOP: #003366 1px solid" scrolling="auto" %26gt;
%26lt;frame bordercolor="#6699cc" frameborder="0" name="main" scrolling="yes" src="main.aspx?name=hello" style="BORDER-LEFT: #99ccff 2px groove; BORDER-TOP: #003366 1px solid"%26gt;
%26lt;/frameset%26gt;
%26lt;/frameset%26gt;
%26lt;/html%26gt;(3).现在你的程序还没有内容,新建xml文件,命名contents.xml,用来显示新闻标题,代码如下
%26lt;?xml version="1.0" encoding="GB2312"?%26gt;
%26lt;topiclist type="Dreamsite News"%26gt;
%26lt;topic%26gt;
%26lt;title%26gt;欢迎进入千里之外的新闻网!%26lt;/title%26gt;
%26lt;href%26gt;main.aspx?name=hello%26lt;/href%26gt;
%26lt;/topic%26gt;
%26lt;topic%26gt;
%26lt;title%26gt;测试新闻%26lt;/title%26gt;
%26lt;href%26gt;main.aspx?name=test%26lt;/href%26gt;
%26lt;/topic%26gt;
%26lt;topic%26gt;
%26lt;title%26gt; 第一条新闻%26lt;/title%26gt;
%26lt;href%26gt;main.aspx?name=first%26lt;/href%26gt;
%26lt;/topic%26gt;
%26lt;topic%26gt;
%26lt;title%26gt; 第二条新闻%26lt;/title%26gt;
%26lt;href%26gt;main.aspx?name=dddd%26lt;/href%26gt;
%26lt;/topiclist%26gt;注重我们的每条新闻内容都是一个xml文件,现在你知道该做什么了吧,新建hello.xml;test.xml;first.xml;dddd.xml文件,在这里给出一个例子,代码如下
%26lt;?xml version="1.0" encoding="GB2312"?%26gt;
%26lt;document%26gt;
%26lt;title%26gt;今日新闻%26lt;/title%26gt;
%26lt;abstract%26gt;头版新闻%26lt;/abstract%26gt;
%26lt;author%26gt;千里之外%26lt;/author%26gt;
%26lt;content%26gt;%26amp;lt;paragraph%26amp;gt;大家好%26amp;lt;/paragraph%26amp;gt;%26lt;/content%26gt;
%26lt;/document%26gt;现在你就可以看到效果了,下面我们看一下发布新闻的代码,也很简单,新建manage.aspx页面,前台代码
%26lt;/head%26gt;
%26lt;body%26gt;
%26lt;form id="form1" runat="server"%26gt;
%26lt;div%26gt;
%26lt;p%26gt;千里之外个人新闻发布系统
%26lt;/p%26gt;
文件名
%26lt;asp:textbox id="TextBox1" runat="Server" /%26gt;
%26lt;Asp:RequiredFieldValidator id="valid1" ControlToValidate="Textbox1" runat="Server"%26gt;(必要栏)
%26lt;/Asp:RequiredFieldValidator%26gt;%26lt;p%26gt;
文章名称
%26lt;asp:textbox id="TextBox2" runat="server" /%26gt;
%26lt;Asp:RequiredFieldValidator id="valid2" ControlToValidate="Textbox2" runat="Server"%26gt;(必要栏)
%26lt;/Asp:RequiredFieldValidator%26gt;
%26lt;p%26gt;
作者
%26lt;asp:textbox id="TextBox3" runat="server" /%26gt;
%26lt;Asp:RequiredFieldValidator id="valid3" ControlToValidate="Textbox3" runat="Server"%26gt;(必要栏)
%26lt;/Asp:RequiredFieldValidator%26gt;
%26lt;p%26gt;
摘要%26lt;p%26gt;
%26lt;asp:textbox id="TextBox4" textmode="MultiLine" width="70%" runat="server" /%26gt;
%26lt;p%26gt;
内容%26lt;p%26gt;
%26lt;asp:textbox id="TextBox5" textmode="MultiLine" rows="6" width="70%" runat="server" /%26gt;
%26lt;p%26gt;
%26lt;asp:Button id="submit" text="提交" runat="server" /%26gt;
%26lt;/div%26gt;
%26lt;/form%26gt;
%26lt;/body%26gt;后台代码如下
using System;
using System.Data;
using System.Configuration;
using System.Collections;
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.Xml;
public partial class manage : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
//判定文件是否存在
if (File.Exists(Server.MapPath(TextBox1.Text + ".xml")))
Response.Write("文件名已经存在,请重新选文件名!");
else
{
//首先将数据插入新闻列表中
XmlNode CurrNode;
XmlDocument xmldoc = new XmlDocument();
//加载索引文件
xmldoc.Load(Server.MapPath("contents.xml"));
string insstr;
//生成新闻索引
insstr = "%26lt;topic%26gt;%26lt;title%26gt;" + TextBox2.Text + "%26lt;/title%26gt;%26lt;href%26gt;main.aspx?name=" + TextBox1.Text + "%26lt;/href%26gt;%26lt;/topic%26gt;";
XmlDocumentFragment docFrag = xmldoc.CreateDocumentFragment();
docFrag.InnerXml = insstr;
CurrNode = xmldoc.DocumentElement;
//插入新闻索引队列中
CurrNode.InsertAfter(docFrag, CurrNode.LastChild);
//保存索引文件
xmldoc.Save(Server.MapPath("contents.xml"));
//把TextBox5中的文件换成符合xml格式的内容
string xmlfile;
xmlfile = TextBox5.Text;
xmlfile = xmlfile.Replace("%26lt;", "+lt; ");
xmlfile = xmlfile.Replace("%26gt;", "+gt; ");
xmlfile = xmlfile.Replace("//", "+apos;");
xmlfile = xmlfile.Replace("\r\n", "%26lt;/paragraph%26gt;%26lt;paragraph%26gt;");
//把数据写入新建的xml文件中去;
XmlDocument doc;
doc = new XmlDocument();
insstr = "%26lt;?xml version='1.0' encoding='GB2312'?%26gt;%26lt;document%26gt;%26lt;title%26gt;";
insstr += TextBox2.Text + "%26lt;/title%26gt;%26lt;abstract%26gt;" + TextBox4.Text;
insstr += "%26lt;/abstract%26gt;%26lt;author%26gt;" + TextBox3.Text + "%26lt;/author%26gt;%26lt;content%26gt;%26lt;paragraph%26gt;";
insstr += xmlfile + "%26lt;/paragraph%26gt;%26lt;/content%26gt;%26lt;/document%26gt;";
doc.LoadXml(insstr);
doc.Save(Server.MapPath(TextBox1.Text + ".xml"));
Response.Write("新闻发布成功!");
TextBox1.Text = "";
TextBox2.Text = "";
TextBox3.Text = "";
TextBox4.Text = "";
TextBox5.Text = "";
}
}
}
现在,一个简单的新闻发布系统已经建立完毕,你还可以编写更新程序,可以参照发布程序来写,有什么好的办法希望我们共享哦!
http://www.cnblogs.com/support/archive/2006/10/13/528544.html
相关文章