我的代码在发送之前将字符串转换为字节:
byte[] requestByte = Encoding.UTF8.GetBytes(requestString);
XML通过socket发送为字节:
int sentbytes = clientDAP.Send(requestByte, SocketFlags.None);
之后从主持人检索到响应:
byteResult = clientDAP.Receive(responseByte, SocketFlags.None);
我试图让它从字节中给我一个字符串输出:
responseString = Encoding.UTF8.GetString(responseByte);
此外,我尝试将响应字符串加载为XML:
XmlDocument resultDoc = new XmlDocument();
resultDoc.LoadXml(responseString);
这给了我以下错误:
'。',十六进制值0x00,是无效字符。第2行,第1位。
responseString
如下:
<Response User="abc" Type="123" Timestamp="02/04/2016 05:12:25:504 AM" Subtype="TRADE"
Name="css" Logging="Yes" Echo="No" Client="abc123" Caching="Yes">
<Output>
<Reference>23324</Reference>
<Client>GF23X</Client>
<Source>2324ffd</Source>
<Region>th</Region>
<Status>ok</Status>
<Message>Overall abc</Message><Message>Odef</Message>
</Output>
</Response>
更新:我已经在评论中看到了所有建议,并尝试了不同的编码和解码,但没有任何效果。
感谢您的帮助。