если через xmlhttp, то нужно XMLHTTP.responseXML преобразовать в поток хотя бы
у меня проще задача стояла, нужно было сохранить даже если это не xml, нашел на vb код и оформил в библиотеку
Код:
Public Function SaveWrongFile(CurrXmlHttp As XMLHTTP40, FileName As String, ByRef Errorno As Long, ByRef Errortext As String) As Boolean
Dim vFF As Long, oResp() As Byte
Errorno = 0
Errortext = ""
oResp = CurrXmlHttp.responseBody
'Create local file and save results to it
vFF = FreeFile
On Error GoTo Err
Open FileName For Binary As #vFF
Put #vFF, , oResp
Close #vFF
SaveWrongFile = True
Exit Function
Err:
SaveWrongFile = False
Errorno = Err.Number
Errortext = Left(Err.Description, 250)
End Function
возможно тип данных вариант тоже может помочь.