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>等为子节点。对这个文件的意思我就不多说了大家也应该看的明白了。接下来就是我们如何来显示它了。


猜你喜欢
- 字符串’^198[0-9]$’可以匹配‘1980-1989’
- 最小编辑距离或莱文斯坦距离(Levenshtein),指由字符串A转化为字符串B的最小编辑次数。允许的编辑操作有:删除,插入,替换。具体内容
- 原理 采集程序实际上是通过了XML中的XMLHTTP组件调用其它网站上的网页。比如新闻采集程序,很多都是调用了sina的新闻网页,并且对其中
- 本文实例讲述了python实现下载指定网址所有图片的方法。分享给大家供大家参考。具体实现方法如下:#coding=utf-8#downloa
- 问题在使用MySQL数据库的时候,经常会遇到这么一个问题,就是“Can not connect to MySQL server. Too m
- 这篇博客主要是为了学习Python和PyQt,因为对棋类游戏比较热衷,所以从规则较简单的五子棋入手,利用PyQt5实现图形界面,做一个可以进
- 一、'建立register.asp 代码如下:<%@ language=vbscript %>&nb
- 1、单元测试的几个重要概念(1)Test Case一个Test Case实例是一个测试用例,完整的测试流程包括测试前准备环境的搭建(setU
- 1.引言本文是Python生态系统中一些有用技巧的分享。大多数技巧只是使用标准库中的包,但其他一些技巧会涉及一些第三方包。在开始阅读本文内容
- 1. 路由概念路由的本质就是一种对应关系,根据不同的URL请求,返回对应不同的资源。那么url地址和真实的资源之间就有一种对应的关系,就是路
- 需要画框取消注释rectangleimport cv2import os,sys,shutilimport numpy as np# Ope
- 语言原生的map存在2个问题:1)不是线程安全的;2)数据量大时候需要尽量避免使用string等,GC压力很大;有人使用泛型实现了相关的co
- 初级的图像拼接为将两幅图像简单的粘贴在一起,仅仅是图像几何空间的转移与合成,与图像内容无关。高级图像拼接也叫作基于特征匹配的图像拼接,拼接时
- 承上启下上一篇文章我们介绍了 RNN 相关的基础知识,现在我们介绍文本生成的基本原理,主要是为了能够灵活运用 RNN 的相关知识,真实的文本
- var a = 0, b = 0;[0, 0].sort(function() {a = 1;return 0;});[0, 1].sort
- 虽然大多数web文档的顶部都有doctype声明,但很多人都没有注意它。它是在你新建一个文档时,由web创作软件草率处理的众多细节之一。虽然
- 常见触发错误的情况如果传入的字段多了会自动过滤如果传入的少了会报错,必填字段如果传入的字段名称对不上也会报错如果传入的类型不对会自动转换如果
- CSS Sprites技术早在2005年 CSS Zengarden 的园主 Dave Shea就在ALA发表对该技术的详细阐述。原先只在C
- 一、组件设计组件就是把图形、非图形的各种逻辑均抽象为一个统一的概念(组件)来实现开发的模式现在有一个场景,点击新增与编辑都弹框出来进行填写,
- PHP Date/Time 简介Date/Time 函数允许您从 PHP 脚本运行的服务器上获取日期和时间。您可以使用 Date/Time