XML编程实例:用ASP+XML打造留言本
来源:新云 发布时间:2008-05-04 13:37:00
一、读者指引
读者指引帮助你掌握本文的梗概。以免你看了大半才明白这编文章不适合你,给你造成视觉污染。
如果你正在用ASP+XML写一些程序,或者你正在学XML那就值得一看。
阅读本文须具备的知识,对ASP有基本的了解,对XML和DOM有基本了解,如果你不了解那么你通过学习本文基本上能够
撑握ASP+XML和DOM的应用,并能根据本文范写出自已更高级的ASP+XML程序。
二、基本思想
本文思想是基于用ASP和DOM来读取和存储XML数据,并利用XML数据来存储留言信息,达到同用数据库存储数据的功
能。
三、XML留言本的优势
或许你会问用ASP+TXT文本也可以达到不用数据库实上留言的功能,不错确实能够做到,而且网上也有很多这样的留
言本免费下载,但这里我要讲一下ASP+XML的优越性。
1、XML+ASP比ASP+TXT速度要快。可能你也发现当TXT文件很少时速度出奇的快,但是随着留言信息的增加TXT文本
变大,速度却又是出奇的慢这就是ASP+TXT的弱点。当然我不能说ASP+XML就一定是出奇的快,但是比起AS
P+TXT来说是快了许多,当然随着留言信息的增加XML文本增大速度也下降很快,但是比起TXT来说就还是好了许多
(这一点可以从WAS测试证明读者可以自行测试),当然ASP+XML比不上数据库,因为数据库对查询做了特别的优
化,而XML只是纯文本,在ASP建立对像是要把XML数据全部读入内存中,如果数据量大的话可想而知速度会慢下来。
那你也许会问那我什么时候用关系数据库存储数据,又什么时候用XML存储数据呢?我这里也顺便提一下,就是当数据比较
复杂无规率时用XML数据比较合适,还有就是你打算这些数据要在不同的操作系统上读取运用时那就是XML大显身手的时候
了。如果你是普通的数据那么不到关键时刻或不支持数据库的空间时还是不要用XML文件来存储数据为好。
2、XML数据的易读取性,TXT文本是比较难操作的,我们必须一行一行的读取判断,而且很多功能无法实上,只能编
制比较简单的留言本,而XML数据则不同了,利用DOM可以轻易的访问每一个节点,而不是TXT那些烦人的Readline()
Witeline()了,我们可以随意的加入删除更新某一个我们感兴趣的节点,利用ASP或者JS或者数据岛都可以轻松实上这一
点,当然我这里为发考虑兼容性,用了ASP来读取XML数据,而没有用数据岛来读取节点数据(因为只有IE5以上版本才
支持数据岛技术)而用ASP来实上就不存在这些问了因为客户得到的是HTML文件。
3、XML数据夸操作系统性,只要我们把这些数据存储为XML那么这些数据就能被应何基它语言或系统所识别,而不用做
应何改动。TXT显然不具备这些性能。例如我们在网上的留言信息可以直接被被转换成wap格式在手机上显示。
四、建立存储留言信息的XML文件(List.xml)
我们这里不打算使用DTD,因为我们这是我们自已编制并测试通过的XML数据,所以不需要DTD来验证(如果你对
此感兴趣当然可以加一个这不影响程序的运行)。现在我们来看看建立一个留言本的基本要素
0、留言ID号--定义为<id>
1、用户名我们--定义为<username>
2、来自那里们--定义为<fromwhere>
3、留言时间定--义为<Posttime>
4、用户主页定--义为<homepage>
5、用户的信箱--定义为<email>
6、留言内容定--义为<text>
当然以上不是必须的读者可以自行命名并加减相关标签,把它们组合起来就得到List.xml的文件了
<?xml version="1.0" encoding="gb2312"?>
<site>
<NewList>
<list>
<id>1</id>
<username>苛子</username>
<fromwhere>中国广州</fromwhere>
<Posttime>01-4-23 18:26:56</Posttime>
<homepage>http://page2000.xiloo.com</homepage>
<email>lucaihui@cmmail.com</email>
<text>这是我的第一个XML文件</text>
</list>
</NewList>
</site>
注意:必须加上encoding="gb2312"否则会报错为非法字符,因为XML默认不支持中文。<site>为根节点<NewList>
<ist>等为子节点。对这个文件的意思我就不多说了大家也应该看的明白了。接下来就是我们如何来显示它了。
猜你喜欢
- 如何用ASP获知机器的网络配置?看看我们的例子:Option Explicit Dim WSHShell&nb
- 代码如下:--销售冠军 --问题:在公司中,老板走进来,要一张每个地区销量前3名的销售额与销售员的报表 --- create t
- 大家都知道索引对于数据访问的性能有非常关键的作用,都知道索引可以提高数据访问效率。为什么索引能提高数据访问性能?他会不会有“副作用”?是不是
- 1.3 安装 ASP.net跟基督山一起检查你们的计算机哦CPU Pentium II 450以上,推荐733内存 256M 推荐 512M
- 简介在SQL SERVER中,数据库在硬盘上的存储方式和普通文件在Windows中的存储方式没有什么不同,仅仅是几个文件而已.SQL SER
- 格式:Download.asp?FileName=要下载的文件名 代码如下:Dim Stream Dim Co
- 这段后门代码可以隐藏在asp文件中,大家可以搜索一些特点的关键字,查看文件的修改日期,看看是不是有如下的代码。<%if re
- MySQL Group By用法我们现在回到函数上。记得我们用 SUM 这个指令来算出所有的 Sales (营业额)吧!如果我们的需求变成是
- Photoshop Express,也就是传说中的web版photoshop,来了。和想象中的web photoshop相比,这个Photo
- <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
- 可能有些地方翻译得不好,请见谅在这个冠冕堂皇的标题之下,我想回答一个土方,有人在博客提出很久了。该土方很好的描述了很多图标设计师所面临的典型
- 作为一名前端,我们通常要做的就是让页面在各系统A-Grade浏览器,甚至网站浏览份额0.1%以上的浏览器上良好显示。当然,还有性能问题。不过
- 由于可将 Microsoft? SQL Server? 2000 设置为包含一个或多个命名实例和一个默认实例(也可无),所以要用新命名规则来
- 相对于Firefox2来说,Firefox3除了采用全新的Gecko 1.9引擎外,在性能、稳定性和安全性方面进行许多改进,在我们最关心的对
- 自从HTML5能为我们的新网页带来更高效洁净的代码而得到更多的关注,然而唯一能让IE识别那些新元素(如<article>)的途径
- 2天内的现实new文字 <%if DateDiff("d",rs("date"),date()
- 嵌套模板(Nested Template),其实就是基于另一个模板创建的模板。要创建嵌套模板,首先要保
- 如何自动反馈电子邮件?很多网站上的电子邮件都是自动回复的,就象163电子邮局提供的邮件自动回复功能一样。这是怎么实现的?我们可以用ASPMa
- 如何使整个页面内容居中,如何使高度适应内容自动伸缩。这是学习CSS布局最常见的问题。下面就给出一个实际的例子,并详细解释。(本文的经验和是蓝
- 页面自动刷新代码大全,基本上所有要求自动刷新页面的代码都有,大家可以自由发挥做出完美的页面。 1)10表示间隔10秒刷 ...页面自动刷新代