⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 clsprnxmlfileui.cls

📁 财务信息管理系统,适合做毕业论文的人使用
💻 CLS
字号:
VERSION 1.0 CLASS
BEGIN
  MultiUse = -1  'True
  Persistable = 0  'NotPersistable
  DataBindingBehavior = 0  'vbNone
  DataSourceBehavior  = 0  'vbNone
  MTSTransactionMode  = 0  'NotAnMTSObject
END
Attribute VB_Name = "clsPrnXml"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = True
Attribute VB_PredeclaredId = False
Attribute VB_Exposed = False
Dim prn_objDom As New DOMDocument
Dim objNode As IXMLDOMElement
Dim SysInfo As IXMLDOMProcessingInstruction
Dim RootNode As IXMLDOMElement
Dim ParentNode As IXMLDOMElement
Dim ChildNode As IXMLDOMElement

Public Sub Initialize(ByVal RootName As String, ByVal parentName As String)
    Set objNode = prn_objDom.documentElement
    If objNode Is Nothing Then
        Set RootNode = prn_objDom.createElement(RootName)
        prn_objDom.appendChild RootNode
        Set SysInfo = prn_objDom.createProcessingInstruction("xml", "version='1.0' standalone='yes'")
        prn_objDom.insertBefore SysInfo, prn_objDom.childNodes(0)
    Else
        'prn_objDom.firstChild.baseName = RootName
    End If
    Set objNode = prn_objDom.documentElement
    Set ParentNode = prn_objDom.createElement(parentName)
    objNode.appendChild ParentNode
End Sub

Public Function InsertPNode(ByVal PnodeName As String, ByVal nodename As String, ByVal nodeValue As String) As Boolean
    On Erro GoTo Error0
    Dim i, j As Integer
    Dim b As Boolean
    Set objNode = prn_objDom.documentElement
    For i = 0 To objNode.childNodes.Length - 1
        If objNode.childNodes(i).baseName = Trim(PnodeName) Then
            b = True
            j = i
            Exit For
        End If
    Next
    If b Then
        Set ParentNode = objNode.childNodes(j)
    Else
        Set ParentNode = prn_objDom.createElement(PnodeName)
        objNode.appendChild ParentNode
    End If
        Set ChildNode = prn_objDom.createElement(nodename)
        If Trim(nodeValue) <> "" Then
            ChildNode.Text = Trim(nodeValue)
        End If
        ParentNode.appendChild ChildNode
        InsertPNode = True
        Exit Function
Error0: InsertPNode = False
End Function
Public Function saveFile(ByVal Filename As String) As Boolean
    On Erro GoTo Error0
    Filename = App.Path & "\" & Filename
    prn_objDom.Save Filename
    saveFile = True
    Exit Function
Error0: saveFile = False
End Function

Public Function InsertHeadNodes(ByVal PnodeName As String, nodename As String, attr() As String, Value() As String) As Boolean
    On Erro GoTo Error0
    Dim i, j As Integer
    Dim b As Boolean
    Dim Node As IXMLDOMElement
    Set objNode = prn_objDom.documentElement
    Set ParentNode = objNode.childNodes(0)
    For i = 0 To ParentNode.childNodes.Length - 1
        If ParentNode.childNodes(i).baseName = Trim(PnodeName) Then
            b = True
            j = i
            Exit For
        End If
    Next
    If b Then
        Set ParentNode = ParentNode.childNodes(j)
    Else
        Set ParentNode = prn_objDom.createElement(PnodeName)
        objNode.appendChild ParentNode
    End If
        For i = 0 To UBound(Value)
            Set ChildNode = prn_objDom.createElement(nodename)
            If attr(i, 1) <> "" Then
                ChildNode.setAttribute attr(i, 0), attr(i, 1)
            End If
            ChildNode.Text = Value(i)
            ParentNode.appendChild ChildNode
        Next
        InsertHeadNodes = True
        Exit Function
Error0: InsertHeadNodes = False
End Function
Public Function InsertBodyNodes(ByVal PnodeName As String, nodename As String, attr() As String, Value() As String) As Boolean
    On Erro GoTo Error0
    Dim i, j As Integer
    Dim b As Boolean
    Dim Node As IXMLDOMElement
    Set objNode = prn_objDom.documentElement
    Set ParentNode = objNode.childNodes(0)
    For i = 0 To ParentNode.childNodes.Length - 1
        If ParentNode.childNodes(i).baseName = Trim(PnodeName) Then
            b = True
            j = i
            Exit For
        End If
    Next
    If b Then
        Set ParentNode = ParentNode.childNodes(j)
    Else
        Set ParentNode = prn_objDom.createElement(PnodeName)
        objNode.appendChild ParentNode
    End If
            Set Node = prn_objDom.createElement(nodename)
            ParentNode.appendChild Node
        For i = 0 To UBound(Value)
            Set ChildNode = prn_objDom.createElement(attr(i, 0))
            'ChildNode.setAttribute attr(i, 0), attr(i, 1)
            ChildNode.Text = Value(i)
            Node.appendChild ChildNode
        Next
        InsertBodyNodes = True
        Exit Function
Error0: InsertBodyNodes = False
End Function

Private Sub Class_Terminate()
Set prn_objDom = Nothing
Set objNode = Nothing
Set SysInfo = Nothing
Set RootNode = Nothing
Set ParentNode = Nothing
Set ChildNode = Nothing
End Sub

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -