zoukankan      html  css  js  c++  java
  • 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
  • 相关阅读:
    异步与回调的设计哲学
    CTF之PHP黑魔法总结
    图片隐写分离
    phpMyadmin各版本漏洞
    python 多线程
    order by name 注入
    Python lambda
    Python os.popen() 方法
    你和大牛差了啥
    Error: failure: repodata/repomd.xml from fedora: [Errno 256] No more mirrors to try.
  • 原文地址:https://www.cnblogs.com/janmson/p/1429238.html
Copyright © 2011-2022 走看看