加入收藏 | 设为首页 | 会员中心 | 我要投稿 好传媒网 (https://www.haochuanmei.com/)- 区块链、物联平台、物联安全、数据迁移、5G!
当前位置: 首页 > 站长学院 > Asp教程 > 正文

ASP订制自己的XML文件读写方法

发布时间:2023-12-23 18:26:04 所属栏目:Asp教程 来源:DaWei
导读: ,我写了两篇关于ASP结合XML的贴子,分别介绍了用XML取代数据库和用XML整合数据库这两方面的技术,让数据库在某种情况下不再是我们的唯一选择。而XML跟传统数据库相比,更有以下优点:更小的
,我写了两篇关于ASP结合XML的贴子,分别介绍了用XML取代数据库和用XML整合数据库这两方面的技术,让数据库在某种情况下不再是我们的唯一选择。而XML跟传统数据库相比,更有以下优点:更小的文件体积,更灵活的数据存贮,更方便的文件读写,而且XML技术也是网络发展的大势所趋。如果有兴趣的话,让我们一起来写一些自己的Function,来更方便和直观地读写XML。

的确,因为它们都是衍生自SGML,基本数据也都是由首标签,尾标签,注释标签和一些普通文本组成。但XML在语法上比HTML要求更严格,稍有不慎,你的XML便会犯上语法错误,导致无法读取其中数据。比如,在HTML中,我们把<a href=../../"index.HTML">写成<a href=../../index.HTML>是完全没问题的,但XML中这样就绝对不行,XML要求标记的属性必须用单引号或双引号引起来。

================================================================= songlist.XML
<?XML version="1.0" encoding="gb2312"?>
<!-- 注释:转贴请注明作者 -->
<歌曲列表>
<歌曲 歌名="Yesterday" 时间="1:53" 分级="5"/>
<歌曲 歌名="Imagine" 时间="3:04" 分级="5"/>
<歌曲 歌名="All You Need Is Love" 时间="3:52" 分级="4"/>
<歌曲>
<歌名>Come Together</歌名>
<时间>4:18</时间>
<分级>4</分级>
</歌曲>
<歌曲 演唱者="约翰列侬">
<歌名>Oh My Love</歌名>
<时间>2:44</时间>
<分级>5</分级>
</歌曲>
<最后一次修改 修改人="" 时间="">无修改内容<最后一次修改>
</歌曲列表>

================================================================================

这个例子应该可以充分展现XML比数据库更灵活的一面,虽然每一条记录都是存贮一首歌的歌名,时间,分级这三项信息,但我们有多种存贮方法可选,既可以把数据放在标记的属性里,也可以把数据放到下一级标记里显示,像上例那样,两者共存也没问题。同时,XML也没有规定当你第一条记录有多少列时,你第二条记录也一定要有那么列,就上例而言,我们完全可以再加一条歌曲记录,只指定歌名和时间而不分级。至于每一条记录的标签(如1-5条中的"歌曲"),可以重复也可以不同,你看,我就在最后加了一个完全与前面不同的"最后一次修改"标签。总之,XML在要求语法合法的同时也给了开发人员充足的自由,以前在数据库里要用几个表才能记录的事,我们现在可以通通放在一个XML中了。下面,我一步一步来演示如何读写其中的任何一个元素。

首先,像打开数据库一样,我们也得打开我们的XML文件。像这样:
Set rootXML = server.CreateObject("MSXML.DOMDocument")
rootXML.load server.MapPath("XML/config.XML")

“MSXML.DOMDocument是windows”的一个标准组件,每台机器上都有的,请放心使用。

然后,为了能够操作文件里的各项数据,我们再建一个类似游标的变量root,并把它指向XML文件的根标记(也就是<歌曲列表>):
Set root = rootXML.documentelement

如果我们把XML文档看成是一个由一级一级的标记组成的树型结构,那现在,我们的root对象表示的就是文档的根标记,也就是第一级节点(一个XML文件中,根标记必须是唯一的)。所以我们设这么一个root对象就是为了更方便地访问下一级节点,以实现对XML的控制。

就我们示例的这个XML文档而言,它的根标记是<歌曲列表>,它的下一级标记有6个,前五个都是以<歌曲>命名,最后一个是<最后一次修改>,虽然名字不同,但是他们都是同一性质,我们可以把它们一起视为这个XML树型结构的第二级节点。既然我们的root对象已经指向了第一级结点,好,现在
就让我们站在第一级结点上来操作第二级结点。

 

(编辑:好传媒网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章