• <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>
  • An ASP Class for XML Data Transfer(vbs類生成xml文件),希望對大家有用

    發表于:2007-06-30來源:作者:點擊數: 標簽:
    有兩文件: objXML.asp: 測試 文件 clsXML.asp: vb s類文件 代碼: objXML.asp %@ Language= VB Script % % Option Explicit % !--#INCLUDE FILE=clsXML.asp-- % Dim objXML, strPath, str Set objXML = New clsXML strPath = Server.MapPath(.) quot;\New.xml
    有兩文件:
    objXML.asp:測試文件
    clsXML.asp:vbs類文件
    代碼:
    objXML.asp

    <%@ Language=VBScript %>
    <% Option Explicit %>
    <!--#INCLUDE FILE="clsXML.asp"-->
    <%
    Dim objXML, strPath, str
    Set objXML = New clsXML

    strPath = Server.MapPath(".") & "\New.xml"

    objXML.createFile strPath, "Root"
    ‘’Or If using an existing XML file:
    ‘’objXML.File = "C:\File.xml"

    objXML.createRootChild "Images"

    ‘’Here only one attribute is added to the Images/Image Node
    objXML.createChildNodeWAttr "Images", "Image", "id", "1"
    objXML.updateField "Images//Image[@id=1]", "super.gif"
    objXML.createRootNodeWAttr "Jobs", Array("Size", "Length", "Width"), _
        Array(24, 31, 30)
    objXML.createRootNodeWAttr "Jobs", Array("Size", "Length", "Width"), _
        Array(24, 30, 29)
    objXML.createRootNodeWAttr "Jobs", Array("Size", "Length", "Width"), _
        Array(24, 31, 85)

    ‘’Notice that all three job nodes have size 24, all of those
    ‘’nodes will be updated
    objXML.updateField "Jobs[@Size=24]", "24‘’s"

    ‘’Notice that only two nodes have the specified XPath, hence
    ‘’only two new child nodes will be added
    objXML.createChildNodeWAttr "Jobs[@Size=24 and @Length=31]", "Specs", _
        Array("Wood", "Metal", "Color"), _
        Array("Cedar", "Aluminum", "Green")

    ‘’It is always important to iterate through all of the nodes
    ‘’returned by this XPath query.
    For Each str In objXML.getField("Jobs[@Size=24]")
        Response.Write(str & "<br>")
    Next
    Set objXML = Nothing

    Response.Redirect "New.xml"
    %>

    clsXML.asp:

    <%
    Class clsXML
      ‘’strFile must be full path to document, ie C:\XML\XMLFile.XML
      ‘’objDoc is the XML Object
      Private strFile, objDoc

      ‘’*********************************************************************
      ‘’ Initialization/Termination
      ‘’*********************************************************************

      ‘’Initialize Class Members
      Private Sub Class_Initialize()
        strFile = ""
      End Sub

      ‘’Terminate and unload all created objects
      Private Sub Class_Terminate()
        Set objDoc = Nothing
      End Sub

      ‘’*********************************************************************
      ‘’ Properties
      ‘’*********************************************************************

      ‘’Set XML File and objDoc
      Public Property Let File(str)
        Set objDoc = Server.CreateObject("Microsoft.XMLDOM")
        objDoc.async = False
        strFile = str
        objDoc.Load strFile
      End Property

      ‘’Get XML File
      Public Property Get File()
        File = strFile
      End Property

      ‘’*********************************************************************
      ‘’ Functions
      ‘’*********************************************************************

      ‘’Create Blank XML File, set current obj File to newly created file
      Public Function createFile(strPath, strRoot)
        Dim objFSO, objTextFile
        Set objFSO = Server.CreateObject("Scripting.FileSystemObject")
        Set objTextFile = objFSO.CreateTextFile(strPath, True)
        objTextFile.WriteLine("<?xml version=""1.0""?>")
        objTextFile.WriteLine("<" & strRoot & "/>")
        objTextFile.Close
        Me.File = strPath
        Set objTextFile = Nothing
        Set objFSO = Nothing
      End Function

      ‘’Get XML Field(s) based on XPath input from root node
      Public Function getField(strXPath)
        Dim objNodeList, arrResponse(), i
        Set objNodeList = objDoc.documentElement.selectNodes(strXPath)
        ReDim arrResponse(objNodeList.length)
        For i = 0 To objNodeList.length - 1
          arrResponse(i) = objNodeList.item(i).Text
        Next
        getField = arrResponse
      End Function

      ‘’Update existing node(s) based on XPath specs
      Public Function updateField(strXPath, strData)
        Dim objField
        For Each objField In objDoc.documentElement.selectNodes(strXPath)
          objField.Text = strData
        Next
        objDoc.Save strFile
        Set objField = Nothing
        updateField = True
      End Function

      ‘’Create node directly under root
      Public Function createRootChild(strNode)
        Dim objChild
        Set objChild = objDoc.createNode(1, strNode, "")
        objDoc.documentElement.appendChild(objChild)
        objDoc.Save strFile
        Set objChild = Nothing
      End Function

      ‘’Create a child node under root node with attributes
      Public Function createRootNodeWAttr(strNode, attr, val)
        Dim objChild, objAttr
        Set objChild = objDoc.createNode(1, strNode, "")
        If IsArray(attr) And IsArray(val) Then
          If UBound(attr)-LBound(attr) <> UBound(val)-LBound(val) Then
            Exit Function
          Else
            Dim i
            For i = LBound(attr) To UBound(attr)
              Set objAttr = objDoc.createAttribute(attr(i))
              objChild.setAttribute attr(i), val(i)
            Next
          End If
        Else
          Set objAttr = objDoc.createAttribute(attr)
          objChild.setAttribute attr, val
        End If
        objDoc.documentElement.appendChild(objChild)
        objDoc.Save strFile
        Set objChild = Nothing
      End Function

      ‘’Create a child node under the specified XPath Node
      Public Function createChildNode(strXPath, strNode)
        Dim objParent, objChild
        For Each objParent In objDoc.documentElement.selectNodes(strXPath)
          Set objChild = objDoc.createNode(1, strNode, "")
          objParent.appendChild(objChild)
        Next
        objDoc.Save strFile
        Set objParent = Nothing
        Set objChild = Nothing
      End Function

      ‘’Create a child node(s) under the specified XPath Node with attributes
      Public Function createChildNodeWAttr(strXPath, strNode, attr, val)
        Dim objParent, objChild, objAttr
        For Each objParent In objDoc.documentElement.selectNodes(strXPath)
          Set objChild = objDoc.createNode(1, strNode, "")
          If IsArray(attr) And IsArray(val) Then
            If UBound(attr)-LBound(attr) <> UBound(val)-LBound(val) Then
              Exit Function
            Else
              Dim i
              For i = LBound(attr) To UBound(attr)
                Set objAttr = objDoc.createAttribute(attr(i))
                objChild.SetAttribute attr(i), val(i)
              Next
            End If
          Else
            Set objAttr = objDoc.createAttribute(attr)
            objChild.setAttribute attr, val
          End If
          objParent.appendChild(objChild)
        Next
        objDoc.Save strFile
        Set objParent = Nothing
        Set objChild = Nothing
      End Function

      ‘’Delete the node specified by the XPath
      Public Function deleteNode(strXPath)
        Dim objOld
        For Each objOld In objDoc.documentElement.selectNodes(strXPath)
          objDoc.documentElement.removeChild objOld
        Next
        objDoc.Save strFile
        Set objOld = Nothing
      End Function
    End Class
    %>

    原文轉自:http://www.kjueaiud.com

    老湿亚洲永久精品ww47香蕉图片_日韩欧美中文字幕北美法律_国产AV永久无码天堂影院_久久婷婷综合色丁香五月

  • <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>