今天帮同事做一个数据对接,从返回的数据中提取想要的部分。返回的是一个WebService结果,由外圈的XML标记和中间的有效内容组成,现在要把有效内容取出来,VB6.0实现。
下面是返回的内容:
<?xml version='1.0' encoding='UTF-8'?>
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
<soapenv:Body>
<ns:getAllQuickInfoResponse xmlns:ns="http://webservice.sp.action.org" xmlns:ax21="http://service.webservice.sp.action.org/xsd">
<ns:return>
[...省略]
</ns:return>
</ns:getAllQuickInfoResponse>
</soapenv:Body>
</soapenv:Envelope>
要把中间的有效内容取出来。想到了正则表达式,在VB6中用法如下:
首先要添加正则表达式的引用:
菜单栏: “工程” - “引用” - “Microsoft VBScript Regular Expressions 5.5”
用法:
'获取有效内容
Dim str As String
Dim re As RegExp
Dim mh As Match
Dim mhs As MatchCollection
str = HttpClient.responseText
Set re = New RegExp
re.Pattern = "\[.*]"
Set mhs = re.Execute(str)
Set mh = mhs(0)
MsgBox (mh.Value)
效果: