[摘要]系列之十八:如何使用XSL和正则表达式来验证数据的有效性(二)现在继续我在上一系列中介绍的例子。我们将实现一个简单的搜索机制,也许你的兴趣不是在获取书籍的标题而是在要获得整个书节点(note)上。那...
系列之十八:如何使用XSL和正则表达式来验证数据的有效性(二)
现在继续我在上一系列中介绍的例子。我们将实现一个简单的搜索机制,
也许你的兴趣不是在获取书籍的标题而是在要获得整个书节点(note)上。
那么使用下面这个函数就能够满足你的要求了
Public Function GetFilteredElements(activeElement As Variant, RegExpfilter As String, _
Optional queryString As String = "",optional IsGlobal as Boolean=True, _
optional IgnoreCase as Boolean = True) As IXMLDOMNodeList
Dim re As RegExp
Dim filterDoc As DOMDocument
Dim nodelist As IXMLDOMNodeList
Dim filterList As IXMLDOMNodeList
Dim node As IXMLDOMElement
Dim baseNode As IXMLDOMElement
Set re = New RegExp
On Error GoTo ErrorHandler
Select Case TypeName(activeElement)
Case "IXMLDOMElement"
Set baseNode = activeElement
Case "DOMDocument"
Set baseNode = activeElement.documentElement
Case Else
Error 1001
Set GetFilteredElements = Nothing
End Select
re.Pattern = RegExpfilter
re.Global=IsGlobal
re.IgnoreCase=IgnoreCase
If queryString = "" Then
Set filterList = baseNode.selectNodes(".[textnode()] 关键词:XML介绍系列(10)