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