用XML结合数据库,给服务器减负(2)
作者:殷亮 发布时间:2007-10-31 09:40:00
这就是一个合法的XML文档,而XML文档的规则与格式也非常自由,如果你要创建一个新的XML
文件,只需一字不改地照写第一行“<?xml version="1.0" encoding="gb2312"?>”,而后面
的标签与标签之间的text就可以很随意,仅仅遵守以下规则即可:
1.首标签与尾标签必须对应,可以重复,但不可以嵌套。
2.标签的命名规则与JAVA/C/C++等程序语言的变量命名规则相似,区分大小写。
3.一个文档只能有一个根元素,如实例中的“<在线播放>”
4.唯一的关键字“XML”,标签不能以这三个字母开头。
5.如果文档与规则有所冲突,将导制XML文档在浏览器中无法正常显示,亦表示非合法的XML 文档。
OK,我们已经知道怎样写一个合法的XML文档了,下一步我们将开始探讨将XML文件嵌入到HTML文件中,并用VBScript脚本语言操作XML文档中的数据。先看下面这个文件:
<html>
<head>
<title>用XML嵌入HTML</title>
</head>
<body bgcolor="#000000" text="#FFFFFF">
<xml id = "xmlFile">
<在线播放>
<歌曲>
<歌名>Hello Goodbye</歌名>
<URL>ftp://61.139.37.148/music/songs01/english/beatles/hellogoodbye.mp3</URL>
<演唱者>The Beatles</演唱者>
<歌词>You say yes, I say no</歌词>
</歌曲>
<歌曲>
<歌名>Yesterday</歌名>
<URL>http://www.mayia.com/beatlescom/beatles/mp3/mp3/yesterday.mp3</URL>
<演唱者>The Beatles</演唱者>
<歌词>Yesterday, all my troubles seemed so far away</歌词>
</歌曲>
</在线播放>
</xml>
<script language="VBScript">
set xml=xmlFile.recordset
xml.MoveFirst
document.write "第一条记录<BR>"
document.write xml("歌名")&"<BR>"
document.write xml("演唱者")&"<BR>"
document.write xml("URL")&"<BR>"
document.write xml("歌词")&"<BR><br>"
xml.MoveNext
document.write "第二条记录<BR>"
document.write xml("歌名")&"<BR>"
document.write xml("演唱者")&"<BR>"
document.write xml("URL")&"<BR>"
document.write xml("歌词")&"<BR>"
</script>
</body>
</html>
在这个HTML文件中,我们加入了一对<xml></xml>标记,用来嵌入一个内部XML文档。嵌入在HTML文件中的XML文档一样地遵循与独立的XML文档一样的规则,只是省去了独立XML文档的声明部分“<?xml version="1.0" encoding="gb2312"?>”。在<XML>标签中,我们设置了XML的ID:xmlFile,以便后面的脚本语言访问该XML对象。
“set xml=xmlFile.recordset” 语句创建了一个可以访问XML的游标。这个游标类似于ASP中的RecordSet对象,所拥有的方法与后者也几乎是完全一样的。如:
当我们用set xml=xmlFile.recordset创建了一个名为xml的数据游标后,我们就可以使用以下方法与属性:
xml.MoveFirst() 移到第一条记录
xml.MoveNext() 移到下一条
xml.MovePrevious() 移到上一条
xml.MoveLast() 移到最后一条
xml.BOF 表示游标在第一条记录之前
xml.EOF 表示游标在最后一条记录之后
xml.RecordCount 记录集总数
xml.AbsolutePosition 游标当前位置
xml.AddNew() 添加一条记录
xml.Delete() 删除一条记录
例如:我们要显示某一首歌的歌名,我们只须将游标移到该记录上,再用xml("歌名")
便可获取XML文档中<歌名>与</歌名>之间的文本。非常方便。
好了,在了解以上关于XML的这些内容后,我们完全可以开始我们真正的服务器减负
行动了!
猜你喜欢
- 上传问题可以说是网络编程中经常遇到的,也是一个很重要的问题,我们不仅要实现上传文件,图片等基本功能,还有考虑到上传程序的安全性,本文介绍了一
- 很早以前就有很多关于用CSS制作的相册,今天突然想看又找不到,反正也无聊,自己做了一下,结果做一下发现自己温习了一些东西。还行,
- 总结了部分所学、所听、所看、所问的一些CSS写作经验,书写高效的CSS - 漫谈CSS的渲染效率,它们与渲染效率及所占用
- 比如要访问b站在a站设置一个cookies,则可以这样做: 1.在b.com下建立一个文件cookies.htm 内容为: 代码如下:内容摘
- 实际参数在函数中我们可以使用 arguments 对象获得 (注:形参可通过 arguments.callee 获得),虽然 argumen
- 打开链接是在新窗口还是原窗口是一个最基础的交互方式。但是很多项目进行中,我们的原型设计并没有仔细考虑链接打开方式。而为了满足运营的需要,选择
- 今天闲逛在网上时,看到一个11px大小的字体,显示却很清晰,赶紧查看站点的CSS,这字体称叫做:PMingLiu。效果相当不错,相比于我们使
- Tag,直译标签,是一种由用户自定义的、用于描述信息 [1]的关键词。Tagging是用户为信息赋予Tag的行为。Delicious,Fli
- 浏览网页的时候经常会碰到一些不认识的英文单词,或者想知道一些中文单词的翻译,这时候再去找翻译软件或者翻译网站就有些麻烦了。因此我做了一个“中
- 语法: ROW_NUMBER() OVER([ <partition_by_clause>] <order_by_clau
- Cookie是一种发送到客户浏览器的文本串句柄,并保存在客户机硬盘上,可以用来在某个Web站点会话之间持久地保持数据。Request和Res
- 从今天开始,我将全面的共享出我所能理解的所有WEB标准方面的知识放在这个“WEB标准能有多难?”的专栏里。当然由于振之的水平有限,所讲并非是
- HTML 的空白符处理规则HTML 中的“空白符”包括空格 (space)、制表符 (tab)、换行符 (CR/LF) 三种。我们知道,在默
- 如何制作一个股票滚屏显示面板?<html> <head> <script
- 对url进行编码在服务器端我们可以使用asp中的server.urlencode,很方便实现。如:<% ss="asp之家欢
- 使用ENUM代替字符串类型有时候, 可以通过使用ENUM来代理常规的字符串类型。一个ENUM列能够存储65535个不同的字符串值,MySQL
- 以前工作的时候由于Oracle8i数据库经常出现用户过多的错误,由于数据量大,经常出现ORA:12500错误,但主要原因是访问过多而引起的,
- 在国外一博客看到的技巧,终于解决IE的这个老大难问题。我在IE的setAttribute bug也提到其解决方法,一是innerHTML,一
- 我用 ip=Request.ServerVariables ("
- 经常开发asp但对于细致的说法,真实不太清楚,这里简单的介绍下。一般情况下读取数据都是用rs.open sql,conn,1,1修改数据:r