用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的这些内容后,我们完全可以开始我们真正的服务器减负
行动了!


猜你喜欢
- 给每一个onClick再附加一个事件 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HT
- 一、model.py1.1 Channel Shuffledef channel_shuffle(x: Tensor, groups: in
- 引 言前提:以下讨论的前提 是设置MySQL的crash safe相关参数为双1:sync_binlog=1innodb_flush_log
- 1.如何获取表单<select>域的选择部分的文本? <form name="a"> <s
- 第一种是进行多项式拟合,数学上可以证明,任意函数都可以表示为多项式形式。具体示例如下。###拟合年龄import numpy as npim
- 目录I. 前提II. 实例演示1. 硬编码方式2. 基于TransactionProxyFactoryBean方式3. xml使用方式4.
- 可是,其体积仍然很庞大。所以,在日常工作中,如何给SQL Server的备份文件瘦身,就是很多数据库管理员所关心的问题了。 也许微软的数据库
- python最值与下标最大值的下标winner = np.argmax(scores)多个最大值的下标(np.argwhere返回数组中非0
- --table1 表ID NAME QQ PHONE1 秦云 10102800 135000002 在路上 10378 136000003
- 创建表时创建外键创建两个表格,一个名为class,create table classes(id int not null primary
- 一、生成随机的测验试卷文件假如你是一位地理老师, 班上有 35 名学生, 你希望进行美国各州首府的一个小测验。不妙的是,班里有几个坏蛋, 你
- pip install python-Levenshtein失败pip install xxxx失败的情况很多情况下pip install
- 目录什么是索引?最左前缀匹配原则如何计算 key_len索引优化创建索引规范什么是索引?数据库索引是一种数据结构,它以额外的写入和存储空间为
- 目录vuex持久化总结vuex持久化vuex:刷新浏览器,vuex中的state会重新变为初始状态解决办法:使用vuex-persisted
- 今天给大家分享一个简单的python脚本,使用python进行http的接口测试,脚本很简单,逻辑是:读取excel写好的测试用例,然后根据
- python-opencv3.0新增了一些比较有用的 * 算法,这里根据官网示例写了一个 * 类程序只能运行在安装有opencv3.0以上版
- 本文实例讲述了Python实现导出数据生成excel报表的方法。分享给大家供大家参考,具体如下:#_*_coding:utf-8_*_imp
- python链表的反转反转链表给你单链表的头节点 head ,请你反转链表,并返回反转后的链表。输入:head = [1,2,3,4,5]输
- 本文实例讲述了Go语言通过smtp发送邮件的方法。分享给大家供大家参考。具体实现方法如下:package mainimport ( 
- 在项目开发中,异常处理是不可或缺的。异常处理帮助人们debug,通过更加丰富的信息,让人们更容易找到bug的所在。异常处理还可以提高程序的容