asp xml

>> CODE
一个类,代码如下:





1'■■■■■■■■■■■■■■■■■■■■■■■■

2' ■

3' 读取XML数据岛 ■

4' ■

5'■■■■■■■■■■■■■■■ By Maple ■■■

6Class XMLReader

7 Private xmlDoc

8

9 '类初始化,创建XMLDOM对象,构造函数

10 private Sub Class_initialize()

11 '创建XMLDOM对象

12 Set xmlDoc = Server.CreateObject("Microsoft.XMLDOM")

13 '设置是否可以异步读取

14 xmlDoc.async = False

15 End Sub

16

17 '设置XML物理路径

18 Public Sub LoadXML(ByVal XPath)

19 xmlDoc.Load(Server.MapPath(XPath))

20 End Sub

21

22 '在类终止时候释放XMLDOM对象

23 Public Sub Class_Terminate()

24 Set xmlDoc = Nothing

25 End Sub

26

27 '选择单个节点

28 Public Function SelectSingleNode(ByVal NodeName)

29 Set SelectSingleNode = Doc.SelectSingleNode(NodeName)

30 End Function

31

32 '取得节点下子节点的总数

33 Public Function getNodeCount(Node)

34 getNodeCount = Node.Length

35 End Function

36

37

38 '〓〓〓〓〓〓〓〓〓〓 过程作用解释 〓〓〓〓〓〓〓〓〓〓

39 '〓 〓

40 '〓 读取网页菜单列表 〓

41 '〓 〓

42 '〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓 By Maple 〓〓〓

43 Public Sub getWebMenu(xPath)

44 '调用Load传入XML物理路径

45 LoadXML(xPath)

46 set root = xmlDoc.documentElement

47 set nodeList = root.childNodes.item(0).childNodes

48 NodeCount = getNodeCount(nodeList)

49

50 For i = 1 to nodeCount

51 '取得下一个节点的值

52 set node = nodeList.nextNode()

53 ' set cost = node.attributes.getNamedItem("cost")

54 Response.Write("<a href=""")

55 Response.Write(Node.SelectSingleNode("URL").Text)

56 Response.Write(""">")

57 '取得单独的一个节点(Name)的文本

58 Response.Write(node.SelectSingleNode("Name").Text)

59

60 '判断是否为最后一条记录,设置界面所用

61 If nodeCount - i <> 0 Then

62 Response.Write("</a> |") & vbcrlf

63 Else

64 Response.Write("</a>") & vbcrlf

65 End If

66

67 Next

68 End Sub

69

70 Public Function SelectNodes(ByVal XPath)

71 Set SelectNodes = Xml.SelectNodes(XPath)

72 End Function

73End Class







>> CODE


1'// 首先定义和创建XML对象

2Dim oXML,oXMLRoot,oXMLItems,oXMLLinks,oXMLItem,iLength,i

3

4Set oXML = CreateObject("Microsoft.XMLDOM") '// 或 MSXML2.DOMDocument

5

6'// 然后加载XML文档

7oXML.load "XML文件地址" '// 或:oXML.loadXML "XML内容"

8

9'// 内容加载完成后,现在来加载它的节点信息

10'// 获取XML所有节点

11

12Set oXMLRoot = oXML.documentElement

13'// 获取节点

14Set oXMLItems = oXMLRoot.selectNodes("MentList")

15

16'// 此时oXMLItems 变量中已经包含了所有MentList节点的内容。

17'// 如果要获取它下面的 Link 节点的话,用以下语句

18'// 获取节点,设 MentList 节点只有一个,那么0即是它的内容

19oXMLLinks = oXMLItems(0).selectNodes("Link")

20'// 获取节点长度(个数)

21iLength = oXMLLinks.length - 1

22

23For i = 0 To iLength

24Set oXMLItem = oXMLLinks.item(i)

25'// 用 getAttribute 方法来获取它的属性值

26Response.write oXMLItem.getAttribute("ID")

27'// 用 selectSingleNode 方法来获取它的节点值

28Response.write oXMLItem.selectSingleNode("Name").text

29Response.write oXMLItem.selectSingleNode("URL").text

30Next

31'// 释放XML对象

32Set oXMLItem = Nothing

33Set oXMLLinks = Nothing

34Set oXMLItems = Nothing

35Set oXMLRoot = Nothing

36Set oXML = Nothing
原文地址:https://www.cnblogs.com/janmson/p/1429238.html