用ASP读取XML文件的具体方法与示例
分别保存下面两段代码,一个保存为readxml.asp另一个保存为test.xml,放在同一个目录下面,调试程序即可,在程序里面我已经做了解释,读取代码可以做成一个readxml的函数,通过使用输入的参数而读取xml不同数据记录的不同的值。这段程序的改编来自互联网,有什么出入请见谅。
复制代码 代码如下:
<% dim xml,objNode,objAtr,nCntChd,nCntAtr Set xml=Server.CreateObject("Microsoft.XMLDOM") xml.Async=False xml.Load(Server.MapPath("test.xml"))
Set objNode=xml.documentElement nCntChd=objNode.ChildNodes.length-1
'这个可以定义asp读取xml文件的那一个值,通过传递这个值来确定读取的数据
for i=0 to nCntChd set objAtr=objNode.ChildNodes.item(i) nCntAtr=objAtr.Attributes.length-1
'历遍一条记录里面的所有的记录项,记录是从0开始的' http://www.knowsky.com/
for j=0 to nCntAtr response.write objAtr.Attributes.item(j).Text&"<br>" next response.write "<br>" next
Set objAtr=Nothing Set objNode=Nothing Set xml=Nothing %>
xml文件
复制代码 代码如下:
以下为程序代码:<?xml version="1.0" encoding="utf-8" ?> <root> <row id="1" COMPname="过桥轩" ADDR="广东省广州市越秀区北京路" 邮编="510000" TEL="8620-8333" PRODSERV="经营面" 经济行业="粥粉面店" 省份="广东省" 地市="广州市" 区域="越秀区" visit="0" 优先级="9999999999" zhuangtai="最新"/> <row id="2" COMPname="周仔" ADDR="广东省广州市" 邮编="510000" TEL="8620-8330" PRODSERV="经营快餐饮食" 经济行业="快餐" 省份="广东省" 地市="广州市" 区域="越秀区" visit="0" 优先级="9999999999" zhuangtai="最新"/> <row id="3" COMPname="香菜馆" ADDR="广东省广州市越秀区" 邮编="510000" TEL="8620-837" PRODSERV="经营湘菜" 经济行业="湘菜" 省份="广东省" 地市="广州市" 区域="越秀区" visit="0" 优先级="9999999999" zhuangtai="最新"/> </root>
DOM的对象和方法的简略说明:
documentElement 属性 确认XML 文件的根(Root)节点。
selectSingleNode 传回第一个符合样式的节点。
loadXML 方法 加载一个XML 文件或字符串的片断。
haschildnodes 方法 如果指定的节点有一个或更多子节点,传回值为true。
createElement 方法 建立一个指定名称的元素。
AppendChild 方法 加上一个节点当作指定节点最后的子节点。
createCDATASection 方法 建立一个包含特定数据的CDATA。