我有以下代码:
Dim request, oXMLHttp, url
url = "WEBSITE"
request = "<?xml version='1.0' encoding='utf-8'?>" & _
"<soap:Envelope xmlns:xsi=""http://www.w3.org/2001/XMLSchema-instance"" xmlns:xsd=""http://www.w3.org/2001/XMLSchema"" xmlns:soap=""http://schemas.xmlsoap.org/soap/envelope/"">" & _
"<soap:Body>" & _
"<CheckItems xmlns=""OTHERWEBSITE"">" & _
"<ItemsNumbers>" & _
"<string >1</string>" & _
"<string >2</string>" & _
"<string >3</string>" & _
"</Items>" & _
"<LicenseKey>KEY</LicenseKey>" & _
"</CheckItems>" & _
"</soap:Body>" & _
"</soap:Envelope>"
Set oXMLHttp = CreateObject("MSXML2.ServerXMLHTTP")
oXMLHttp.open "POST", url, False
oXMLHttp.setRequestHeader "Content-Type", "text/xml; charset=utf-8"
oXMLHttp.send request
response = oXMLHttp.responseText
Set objFSO=CreateObject("Scripting.FileSystemObject")
outFile="C:\Path\Test.txt"
Set objFile = objFSO.CreateTextFile(outFile,True)
objFile.Write oXMLHttp.responseText
objFile.Close
问题是,我说的不是3个项目,而是500个项目,并且以这种方式运行会导致超时。解决此问题的一个建议是改为设置一个循环,以便我改为:
Dim request, oXMLHttp, url
url = "WEBSITE"
items = (1,2,3,4...n)
for Each item in items:
request = "<?xml version='1.0' encoding='utf-8'?>" & _
"<soap:Envelope xmlns:xsi=""http://www.w3.org/2001/XMLSchema-instance"" xmlns:xsd=""http://www.w3.org/2001/XMLSchema"" xmlns:soap=""http://schemas.xmlsoap.org/soap/envelope/"">" & _
"<soap:Body>" & _
"<CheckItems xmlns=""OTHERWEBSITE"">" & _
"<ItemsNumbers>" & _
"<string >item</string>" & _
"</Items>" & _
"<LicenseKey>KEY</LicenseKey>" & _
"</CheckItems>" & _
"</soap:Body>" & _
"</soap:Envelope>"
Next item
问题是,正如您可能看到的那样,我根本不知道如何正确设置循环。如何修改此代码以便循环正确执行,以便每次迭代都像第一个代码示例一样发布到.txt文件中?感谢您的帮助!
更新:我还收到错误800A03EE&#34;预期&#39;)&#39;&#34;在尝试创建数组时。我不知道它想要附加的右支架。
items = ("A",
"B",
"C",
...,
"Z")
答案 0 :(得分:1)
试试这个:
items = Array(1,2,3,4,"za")
myitems=""
For Each item in items
myitems = myitems & "<string >" & item & "</string>"
Next
request = "<?xml version='1.0' encoding='utf-8'?>" & _
"<soap:Envelope xmlns:xsi=""http://www.w3.org/2001/XMLSchema-instance"" xmlns:xsd=""http://www.w3.org/2001/XMLSchema"" xmlns:soap=""http://schemas.xmlsoap.org/soap/envelope/"">" & _
"<soap:Body>" & _
"<CheckItems xmlns=""OTHERWEBSITE"">" & _
"<Items>" & myitems & "</Items>" & _
"<LicenseKey>KEY</LicenseKey>" & _
"</CheckItems>" & _
"</soap:Body>"