markdown测试:VB代码着色

VB代码着色效果测试:

Option Explicit

Private document As DOMDocument
Private action As IXMLDOMElement

Public Property Let xml(ByVal xml As String)
    Set document = New DOMDocument
    document.loadXML xml   
    'document.Load App.Path + "\from.xml" 
    Set action = document.selectSingleNode("action")
End Property

Function getNodeAttribute(ByVal attribute_name As String)
    Dim element As IXMLDOMElement
    Set element = action
    If element Is Nothing Then
        getNodeAttribute = ""
    Else
        getNodeAttribute = element.getAttribute(attribute_name)
    End If
End Function

Function getNodeValue(ByVal node_name As String)
    Dim node As IXMLDOMNode
    Set node = action.selectSingleNode(node_name)
    If node Is Nothing Then
        getNodeValue = ""
    Else
        getNodeValue = node.Text
    End If
End Function

Public Sub createDocument(ByVal name As String)
    Set document = New DOMDocument
    Set action = document.createElement("action")
    action.setAttribute "name", name
    document.appendChild action
End Sub

Public Sub appendNode(ByVal node_name As String, ByVal node_value As String)
    Dim node As IXMLDOMNode
    Set node = action.ownerDocument.createElement(node_name)
    node.Text = node_value
    action.appendChild node
End Sub

Public Property Get xml() As String
    xml = document.xml
    'document.save App.Path + "\to.xml"
End Property

调用程序如下:
Option Explicit

Private Sub Form_Load()
    Dim obj As New ClsXml
    obj.xml = "<action name=""login""><username>a</username><password>1</password></action>"
    MsgBox obj.getNodeAttribute("name")
    MsgBox obj.getNodeValue("username")
    MsgBox obj.getNodeValue("password")
    obj.createDocument "logout"
    obj.appendNode "username", "a"
    obj.appendNode "password", "1"
    MsgBox obj.xml
    Unload Me
End Sub

代码来自:http://www.cnblogs.com/happy-wangtao/archive/2006/12/24/602030.html

posted @ 2014-07-23 15:32  博客园团队  阅读(1021)  评论(0编辑  收藏  举报