第三种途径---基于XML的ASP留言板
|
日期:2004年10月16日 作者:清风网络学院 查看:[大字体
中字体 小字体]
|
坦白地说,对于ASP我一直都不怎么感兴趣。如果要我写这种服务器端程序的话, 我会选择JSP。所以,本人一直都想在网上弄个便宜点的JSP空间;可是正如miles 前辈所说,连贵一点的都没有,更不用说便宜的了。没办法,只好用ASP了, 对于用ASP写留言板的主要途径,只要是地球人就都知道,用得最多的无外乎就 是文件组件与数据库组件;而大多提供ASP的服务商基于安全都禁用了文件组件, 也有的禁用了数据库组件。当然,就算用不了这两个组件,也并不代表我们就不 能用脚本来创建文件和修改文件了,我们还有第三种途径:MSXML组件。
以下是我用MSXML组件写的一个留言本程序,主要文件有guest.xml、guest.asp、 include.asp、certain.asp,另加一些图像文件,分别为1.jpg,2.jpg,……图像 文件放在pic目录下。这个脚本在ASP的各版本中均已测试通过,以下是所有的源 代码与讲解,肯请指正。
---------------------------------------------------------------------- ◆1◆ guest.xml 该文件用来保存留言的数据文件,相当于数据库。 ---------------------------------------------------------------------- <?xml version="1.0" encoding="gb2312"?> <殷亮的留言本> <留言> <昵称>殷亮</昵称> <头像>pic/20.jpg</头像> <来自>湖北荆门</来自> <时间>2002-10-17 22:48:01</时间> <信箱>ask10@msn.com</信箱> <内容>这是一个基于XML的留言本</内容> </留言> <留言> <昵称>黄娟</昵称> <头像>pic/7.jpg</头像> <来自>湖北武汉</来自> <时间>2002-10-17 22:48:01</时间> <信箱>fengzhongluwei@hotmail.com</信箱> <内容>你好吗?</内容> </留言> </殷亮的留言本> ------------------------------------------------------------------------- 上面的XML文件记录了两条留言,可以用任何文本编辑工具编辑,如果没有语法错误, 在浏览器中输入该文件名即可显示XML所独有的树状页面。因为是文本形式的,所以 从创建到修改都比专门的数据库要方便。而XML文档的规则与格式也非常自由,如果 你要创建一个新的XML文件,只需一字不改地照写第一行“<?xml version="1.0" encoding="gb2312"?>”,而后面的标签与标签之间的text就可以很随意,仅仅遵守 以下规则即可:
1.首标签与尾标签必须对应,可以重复,但不可以嵌套。 2.标签的命名规则与JAVA/C/C++等程序语言的变量命名规则相似,区分大小写。 3.一个文档只能有一个根元素,如实例中的“<殷亮的留言本>” 4.唯一的关键字“XML”,标签不能以这三个字母开头。
如果文档与规则有所冲突,将导制XML文档在浏览器中无法正常显示,且当ASP脚本调 用该文档时也会出现错误,所以强烈建议将写好的XML文件先在浏览器中预览,没有 发现错误时,再开始编写ASP脚本。
下面是关于ASP中读写XML文件的相关语句:(以上面的XML文件为例)
应用组件,读入文件: set guestXml = Server.CreateObject("MSXML.DOMDocument") guestXml.load Server.MapPath("guest.xml")
显示第一条留言中的“殷亮” <%=guestXml.documentelement.childNodes.item(0).childNodes.item(0).text%> 可以解释为:XML对象.XML根标签.子标签集合.第一条.子标签集合.第一条.文本 这样,通过一级一级的访问,最终定位到了第三级标签上。 当然,我们也可以先用 set root = guestXml.documentelement.childNodes 这样,当我们要显示“殷亮”的时候,就可以用: <%=root.item(0).childNodes.item(0).text%>
显示第二条留言中的“湖北武汉” <%=guestXml.documentelement.childNodes.item(1).childNodes.item(2).text%> 和数组类似,XML的下标也是由0开始。
显示一个标签中所有子标签的个数,如显示留言总数: <%=guestXml.documentelement.childNodes.length%>
上一篇:用XMLHTTPRequest对象进行客户端验证
下一篇:用XML结合数据库,给服务器减负
|
| 第三种途径---基于XML的ASP留言板 相关文章: |
|
|
|
| 第三种途径---基于XML的ASP留言板 相关软件: |
|
|
|