2011-11-17 294 views
0

我有一个大约7MB的xml文件,我不想解析它,我只是想通过xmlhttp(post)使用VB发送这个文件到一个可以读取的cgi脚本无论我给它什么字符串。 问题是用这部分代码xmlhttp.send((xmlDoc)),因为xmlDoc加载,但它并没有真正解释为字符串。解决这个问题的最好方法是什么? 我仍然是新来的VB,所以任何帮助,将不胜感激!VB通过xmlhttp.send传递xml内容

Sub Main() 

    Dim xmlhttp As Object 
    'Dim xmlDoc As New Xml.XmlDocument 
    Dim xmlDoc 
    xmlDoc = CreateObject("Msxml2.DOMDocument.6.0") 
    xmlDoc = XDocument.Load("c:\pos.xml") 
    'Console.WriteLine(xmlDoc) 
    'xmlDoc.async = False 
    xmlhttp = CreateObject("Msxml2.ServerXMLHTTP.6.0") 
    'xmlDoc = CreateObject("Msxml2.DOMDocument.6.0") 

    'xmlDoc.Load("c:\pos.xml") 

    xmlhttp.setOption(2, 4096) 
    xmlhttp.Open("POST", "http://10.2.1.195:4980/CM/McPos.cgi?", False) 
    xmlhttp.setRequestHeader("Host", "http://10.2.1.195:4980") 
    xmlhttp.setRequestHeader("Content-Type", "txt") 
    xmlhttp.send((xmlDoc)) 
    MsgBox("STATUS: " & xmlhttp.Status) 
    MsgBox("RESPONSE: ") 
    MsgBox(xmlhttp.responseText) 

End Sub 
+0

本文相关,[链接](http://stackoverflow.com/questions/968998/http-post-upload-from-visual-basic-6),但有关于如何加载问题将xml转换为字节数组(如果这是最好的方法) – user1052106

回答

0

如果你想要做的就是发送文件的文本,然后我会建议使用FileSystemObject来从文件中的文本转换成字符串,然后只传递字符串作为参数的发送呼叫。下面是一个发送字符串的简单例子,尽管使用VBScript,但它基本上是一样的。

How to perform an HTTP POST request in ASP?

+0

这是一个小文件的好方案,带有7MB的字符串,它的一个no go ..应用程序会因字符串超长而崩溃 – user1052106