用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。