文章 | 入侵攻击 | 安全防御 | 操作系统 | 网站建设 | 网络编程 | 路由交换 | 灾难恢复 | 新闻资讯 | 安全公告
下载 | 漏洞扫描 | 加密破解 | 入侵攻击 | 后门木马 | 溢出程序 | 综合工具 | 安全防护 | 原创发布 | 动画教程
论坛 | 黑客军火 | 配服务器 | 黑客情感 | 免费资源 | 美女贴图 | 灌水无罪 | 在线服务 | 会员照片 | 网站首页
 当前位置:主页 >> 技术文摘 >> 网络编程 >> NET编程 >> 文章内容  
 

 
实现基于XML的留言簿

www.hx99.org 阅读: 时间:2007-07-12 整理:华西黑盟
------------------------------------------------------------------
 一.概要:

  留言簿是网站的一个重要组成部分,是访问者发表意见的场所,也是网站管理员了解网站基本情况的有力工具。所以留言簿在现在的网站中扮演了重要的角色。

  可是在以前开发一个留言簿并不是一件容易的事,开发者的工作量往往会很多。而现在随着微软推出VS.net,相应的技术推陈出新。特别是XML在.net Framework中的广泛运用,使得整个.net构架具有十分优越的基础。在VS.net推出的同时,也伴随而来了一门新兴的语言C#。C#作为微软.net战略的重要部分,具有特别优秀的性能。所以本文的asp.net程序是用C#语言描述的,同时整个程序又是基于XML的。我用到了XML作为程序的数据库,主要是因为所以的服务器都是支持XML文件的。

二.要求:

(1).NetSDKBeta2及以后版本

(2)支持Asp.net的Web服务器

三.说明:

本文的实例由两部分组成:

(1)guestpost.aspx-将用户信息添加到一个XML文件中

(2)viewguestbook.aspx-先建立一个数据集对象,建立后,就很容易显示其中的数据了。我这里用到了一个“Repeater”来显示数据集中的数据。还有,读者可试着根据自己的喜好来修改查看页。

四.代码:

(1)guestpost.aspx:

<%@PageLanguage="C#"EnableSessionState="False"%>
<%@ImportNamespace="System"%>
<%@ImportNamespace="System.IO"%>
<%@ImportNamespace="System.Data"%>
<%--这些是本程序正常运用所必须的名字空间--%>

<html>
<head>
<title>欢迎来到我的留言簿</title>
<scriptLanguage="C#"runat="server">
///<summary>
///当提交(submit)按钮按下后,调要这个函数
///</summary>
publicvoidSubmit_Click(Objectsender,EventArgse)
{
//保存数据的XML文件的路径
//如果你的路径和下面的不同,则请修改之
stringdataFile="db/guest.xml";

//运用一个Try-Catch块完成信息添加功能
try{
//仅当页面是有效的时候才处理它
if(Page.IsValid){

errmess.Text="";
//以读的模式打开一个FileStream来访问数据库
FileStreamfin;
fin=newFileStream(Server.MapPath(dataFile),FileMode.Open,
FileAccess.Read,FileShare.ReadWrite);
//建立一个数据库对象
DataSetguestData=newDataSet();
//仅从数据库读取XMLSchema
guestData.ReadXmlSchema(fin);
fin.Close();
//从数据集的Schema新建一个数据行
DataRownewRow=guestData.Tables[0].NewRow();
//用相应值填写数据行
newRow["Name"]=Name.Text;
newRow["Country"]=Country.Text;
newRow["Email"]=Email.Text;
newRow["Comments"]=Comments.Text;
newRow["DateTime"]=DateTime.Now.ToString();
//填写完毕,将数据行添加到数据集
guestData.Tables[0].Rows.Add(newRow);
//为数据库文件新建另一个写模式的FileStream,并保存文件
FileStreamfout;
fout=newFileStream(Server.MapPath(dataFile),FileMode.Open,
FileAccess.Write,FileShare.ReadWrite);

guestData.WriteXml(fout,XmlWriteMode.WriteSchema);
fout.Close();
//隐藏当前的面板
formPanel.Visible=false;
//显示带有感谢信息的面板
thankPanel.Visible=true;
}
}
catch(Exceptionedd)
{
//捕捉异常
errmess.Text="写入XML文件出错,原因:"+edd.ToString();
}
}
</script>
<LINKhref="mystyle.css"type=text/cssrel=stylesheet>
</head>

(2)viewguestbook.aspx:

<%@PageLanguage="C#"%>
<%@ImportNamespace="System"%>
<%@ImportNamespace="System.IO"%>
<%@ImportNamespace="System.Data"%>
<%--以上是所需的名字空间--%>

<html>
<head>
<title>欢迎来到我的留言簿</title>
<scriptlanguage="C#"runat=server>
//页面下载完毕后,运行这个脚本
publicvoidPage_Load(Objectsender,EventArgse)
{
//包含所有数据的XML文件的路径
//如果你的路径和下面的不同,则请修改
stringdatafile="db/guest.xml";

//运用一个Try-Catch块完成信息读取功能
try
{
//建立一个数据集对象
DataSetguestData=newDataSet();
//为数据库文件打开一个FileStream
FileStreamfin;
fin=newFileStream(Server.MapPath(datafile),FileMode.Open,
FileAccess.Read,FileShare.ReadWrite);
//把数据库中内容读到数据集中
guestData.ReadXml(fin);
fin.Close();
//将第一个表中的数据集付给Repeater
MyDataList.DataSource=guestData.Tables[0].DefaultView;
MyDataList.DataBind();
}
catch(Exceptionedd)
{
//捕捉异常
errmess.Text="不能从XML文件读入数据,原因:"+edd.ToString();
}
}
</script>
<LINKhref="mystyle.css"type=text/cssrel=stylesheet>
</head>

五.总结:

  这个程序完成了,相信大家对实现原理以及技巧都有了大致的了解。通过本文,我主要是想向大家展示用XML处理一些数据库问题时的优点:服务器都支持XML文件,而且处理过程相当简洁明了。当然,用XML也有它的不足之处,就是当数据库很大时,解析过程会花费相当长的时间,因此还是要采用大型的数据库系统的。所以,我只想通过此文起到抛砖引玉的作用。

   -------------------------------------------------------------------------------------------
  上一篇:用ASP.NET上传图片并生成可带版权信息的缩略图
  下一篇:用ASP.NET构建完整E-mail发送系统
   -------------------------------------------------------------------------------------------
用户名:
Email:
评论内容:
 
  精品推荐
推荐:ASPX一句话木马--终
利用ASP.Net 动态生成HTML
asp.net实现验证码
在asp.net中利用session做
Asp.net 中在客户端触发服
Asp.net 中服务端控件事件
ASP.NET上传图片并生成可
ASP.NET AJAX解决网页打开
实现IE浏览器部分菜单命令
Asp.net一夜速成教程
从sqlserver中读取图片
ASP.NET页面间的传值的几
用动态属性和DataView实现
用PagedDataSource类实现D
关于TreeView控件专题
asp.net上传图片并同时生
ASP.NET中水晶报表的使用
ASP.NET 中 Cookie 的基本
ADO.NET使用经验集
Forms身份验证
ASP.NET四种页面导航方式
ASP.NET中如何防范SQL注入
[分享]ASP.NET学习手记```
ASP.NET编程中的十大技巧
用ASP.NET上传图片并生成
关于我们 | 发展历程 | 在线投稿 | 核心监督 | 友情链接 | 网站地图 | 网站留言 | 联系我们
Copyright © 2004-2007 Www.Hx99.Net
版本:华西黑盟网站系统V5.0 Email:root#hx99.org
中国·西安·宝鸡 请使用IE6.0版本, 分辩率1024×768进行浏览
版权所有 任意抄袭 注意完整
陕ICP备06000444号