Asp 读取 XML 文件的子节点值

XML 数据如下:
====================================
<?xml version="1.0" encoding="UTF-8"?>
<Bluesky>

<MentList>
  <Link ID="1">
   <Name>首页</Name>
   <URL>/</URL>
  </Link>
  <Link ID="2">
   <Name>信息查询</Name>
   <URL>/</URL>
  </Link>
  <Link ID="3">
   <Name>文章中心</Name>
   <URL>/</URL>
  </Link>
  <Link ID="4">
   <Name>网页特效</Name>
   <URL>/</URL>
  </Link>
  <Link ID="5">
   <Name>网站收藏夹</Name>
   <URL>/</URL>
  </Link>
  <Link ID="6">
   <Name>用户讨论区</Name>
   <URL>/</URL>
  </Link>
</MentList>

<PageSize>
  <Article>20</Article>
  <JScript>20</JScript>
  <GuestBook>15</GuestBook>
</PageSize>

</Bluesky>

 

'// 首先定义和创建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("MentList")

'// 此时oXMLItems 变量中已经包含了所有MentList节点的内容。
'// 如果要获取它下面的 Link 节点的话,用以下语句
'// 获取节点,设 MentList 节点只有一个,那么0即是它的内容
SetoXMLLinks = oXMLItems(0).selectNodes("Link")
'// 获取节点长度(个数)
iLength = oXMLLinks.length - 1

For i = 0 To iLength
Set oXMLItem = oXMLLinks.item(i)
'// 用 getAttribute 方法来获取它的属性值
Response.write oXMLItem.getAttribute("ID")
'// 用 selectSingleNode 方法来获取它的节点值
Response.write oXMLItem.selectSingleNode("Name").text
Response.write oXMLItem.selectSingleNode("URL").text
Next
'// 释放XML对象
Set oXMLItem = Nothing
Set oXMLLinks = Nothing
Set oXMLItems = Nothing
Set oXMLRoot = Nothing
Set oXML = Nothing

大致的思路就是这样了,你可以改变一下来满足你的要求。

posted @ 2010-09-14 09:28  Hellen.Li  阅读(640)  评论(0编辑  收藏  举报