编码“<”和“>”,而通过HTTP POST发送XML(Encoding “<”

2019-10-17 13:07发布

我从Access VBA发送通过HTTP POST的XML内容的Web方法,使用XMLHTTP对象MSXML。 这里是代码。

Dim objXmlHttp As Object
Set objXmlHttp = CreateObject("MSXML2.ServerXMLHTTP")
objXmlHttp.Open "POST", webServicePath, False
objXmlHttp.setRequestHeader "Content-Type", "application/x-www-form-urlencoded"

Dim Response As String
objXmlHttp.send wrt.output

'OK status
If objXmlHttp.Status = 200 Then
    Response = objXmlHttp.responseText
End If
Set objXmlHttp = Nothing

我正在与“&LT”和“&GT”,而不是<和>的XML。 如果我尝试做URL编码,一切都收到在收件人侧ASCII文本。 可否请您指导我需要做的就是有效的XML格式。

Answer 1:

您需要正确地设置内容类型,试试这个来代替:

objXmlHttp.setRequestHeader "Content-Type", "text/xml; charset=""utf-8"""


文章来源: Encoding “<” and “>” while sending XML via HTTP Post