<引用>
如何用Asp读写XML文件及XML存取数据的优点 看代码和注释,先了解一下ASP是如何读写XML文件的。 '// 首先定义和创建XML对象
Dim oXML,oXMLRoot,oXMLItems,oXMLLinks,oXMLItem,iLength,i
Set oXML = CreateObject("Microsoft.XMLDOM") '// 或 MSXML2.DOMDocument
'// 然后加载XML文档
oXML.load "XML文件地址" '// 或:oXML.loadXML "XML内容" '// 内容加载完成后,现在来加载它的节点信息
'// 获取XML所有节点 Set oXMLRoot = oXML.documentElement
'// 获取节点
Set oXMLItems = oXMLRoot.selectNodes("ExampleNode") '// 此时oXMLItems 变量中已经包含了所有ExampleNode节点的内容。
'// 如果要获取它下面的ExampleSubNode节点的话,用以下语句
'// 获取节点,设ExampleNode节点只有一个,那么0即是它的内容
oXMLLinks = oXMLItems(0).selectNodes("ExampleSubNode")
'// 获取节点长度(个数)
iLength = oXMLLinks.length - 1 For i = 0 To iLength
Set oXMLItem = oXMLLinks.item(i)
'// 用 getAttribute 方法来获取它的属性值
oXMLItem.getAttribute("ID")
'// 用 selectSingleNode 方法来获取它的节点值
oXMLItem.selectSingleNode("Name").text
Next
'// 释放XML对象
Set oXMLItem = Nothing
Set oXMLLinks = Nothing
Set oXMLItems = Nothing
Set oXMLRoot = Nothing
Set oXML = Nothing
上面的代码可以说是一个ASP读取XML文件的基本流程,一般的用这个也就够了。下面看一个例子来说明ASP如何读写XML文件以及ASP读写XML的具体用法,一篇从网上来的文章,原文如下:
在此之前,我写了两篇关于ASP结合XML的贴子,分别介绍了用XML取代数据库和用XML整合数据库这两方面的技术,让数据库在某种情况下不再是我们的唯一选择。而XML跟传统数据库相比,更有以下优点:更小的文件体积,更灵活的数据存贮,更方便的文件读写(因为XML是文本文件,所以无需专门的软件制作和维护),而且XML技术也是网络发展的大势所趋(从.NET对XML全面的支持便可见一斑了)。如果有兴趣的话,让我们一起来写一些自己的Function,来更方便和直观地读写XML。
乍一看,XML跟HTML的格式非常相似,的确,因为它们都是衍生自SGML,基本数据也都是由首标签,尾标签,注释标签和一些普通文本组成。但XML在语法上比HTML要求更严格,稍有不慎,你的XML便会犯上语法错误,导致无法读取其中数据。比如,在HTML中,我们把<a href="index.html">写成<a href=index.html>是完全没问题的,但XML中这样就绝对不行,XML要求标记的属性必须用单引号或双引号引起来。至于如何写一个合法的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</分级>
</歌曲>
<最后一次修改 修改人="" 时间="">无修改内容<最后一次修改>
</歌曲列表>
================================================================================