隨筆 - 8  文章 - 55  trackbacks - 0
          <2006年6月>
          28293031123
          45678910
          11121314151617
          18192021222324
          2526272829301
          2345678

          常用鏈接

          留言簿(6)

          隨筆分類

          隨筆檔案

          文章分類

          文章檔案

          朋友的Blog

          最新評論

          閱讀排行榜

          評論排行榜

          vbs類生成xml文件
          [ 作者:??加入時間:2006-04-03 15:13:42??來自: ]
          有兩文件:
          obj
          XML . asp :測試文件
          cls
          XML . asp :vbs類文件
          代碼:
          obj
          XML . asp

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

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

          obj XML .createFile strPath, "Root"
          'Or If using an existing
          XML file:
          'obj
          XML .File = "C:/File.xml"

          obj XML .createRootChild "Images"

          'Here only one attribute is added to the Images/Image Node
          obj
          XML .createChildNodeWAttr "Images", "Image", "id", "1"
          obj
          XML .updateField "Images//Image[@id=1]", "super.gif"
          obj
          XML .createRootNodeWAttr "Jobs", Array("Size", "Length", "Width"), _
          Array(24, 31, 30)
          obj
          XML .createRootNodeWAttr "Jobs", Array("Size", "Length", "Width"), _
          Array(24, 30, 29)
          obj
          XML .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
          obj
          XML .updateField "Jobs[@Size=24]", "24's"

          'Notice that only two nodes have the specified XPath, hence
          'only two new child nodes will be added
          obj
          XML .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 obj
          XML .getField("Jobs[@Size=24]")
          Response.Write(str & "<br>")
          Next
          Set obj
          XML = Nothing

          Response.Redirect "New.xml"
          %>

          cls XML . asp :

          <%
          Class cls
          XML
          'strFile must be full path to document, ie C:/ XML / XML File. 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.
          XML DOM")
          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
          %>

          posted @ 2006-06-06 13:04 blog搬家了--[www.ialway.com/blog] 閱讀(427) | 評論 (0)編輯 收藏

          www.nike.com

          www.m5.icoke.com

          http://www.hcgjhotel.com/

          http://www.peugeot.com.cn/web/307/

          http://www.kingnare.com/

          http://www.greenovia.net/

          http://www.blueidea.com/bbs/newsdetail.asp?page=4&id=1935698&Daysprune=&lp=1

          http://www.5dmax.com/

          http://www.skii.com.cn/pitera/index.html

          http://www.daphne.com.cn/d28/

          http://www.wangbao.com.cn/main.html

          http://www.mystvgame.com/us/

          http://land.anycall.com/event/anyclub2/event_main.jsp

          http://www.gglc.com.cn/main.htm

          http://www.boyaguoji.com/index1.htm

          www.superaction.co.kr

          posted @ 2006-06-03 21:34 blog搬家了--[www.ialway.com/blog] 閱讀(411) | 評論 (0)編輯 收藏
          主站蜘蛛池模板: 自贡市| 泸水县| 丹寨县| 鄯善县| 四子王旗| 边坝县| 新津县| 麟游县| 正镶白旗| 当阳市| 洛隆县| 荔浦县| 金堂县| 寿阳县| 布尔津县| 邵阳市| 饶河县| 额济纳旗| 福泉市| 柳河县| 增城市| 手游| 高要市| 临潭县| 兴和县| 溧阳市| 沁阳市| 元江| 石柱| 额济纳旗| 博罗县| 桃江县| 增城市| 屏山县| 开阳县| 微山县| 漯河市| 繁昌县| 彭泽县| 阜新| 城步|