我有一个日志文件,其中包含多个xml请求和响应。我的要求是找到一个字符串,它是否存在于日志文件中的任何xml reqsts / respon中,如果使用VBA(Excel宏)存在字符串,则检索xml。有人可以帮忙吗?
注意:日志文件不是.xml格式。它的文件扩展名为.LOG.Right,现在我将其作为文本文件处理
日志文件的示例格式:
[8/9/2015:12:00]<?xml version="1.0" encoding="UFT-8"?>
<soapenv:Envelope xmlns="https://schemas.xmlsoap.org/"><soapenv:Header.....>
.
.
<validity message-id="ABC12345678">
.
</validity>
.
.</soapenv:envelope>
[8/9/2015:12:44]<?xml version="1.0" encoding="UFT-8"?>
<soapenv:Envelope xmlns="https://schemas.xmlsoap.org/"><soapenv:Header.....>
.
.
<validity message-id="PQR12345678">
.
</validity>
.
.</soapenv:envelope>
我正在寻找使用message-id = PQR12345678
检索xml答案 0 :(得分:0)
此代码可能会帮助您入门。
'add reference Microsoft XML, v6.0
Public Sub DownloadFile()
Dim objWHTTP As Object
Dim strPath As String
Dim arrData() As Byte
Dim lngFreeFile As Long
On Error Resume Next
Set objWHTTP = CreateObject("WinHTTP.WinHTTPrequest.5")
If Err.Number <> 0 Then
Set objWHTTP = CreateObject("WinHTTP.WinHTTPrequest.5.1")
End If
On Error GoTo 0
URL = "Enter your URL or filename here"
objWHTTP.Open "GET", URL, False
objWHTTP.send
arrData = objWHTTP.responseBody
strData = StrConv(arrData, vbUnicode)
Dim xmlbook As New MSXML2.DOMDocument60
xmlbook.LoadXML strData
End sub
&#13;