发送“#”和“&”通过XML请求的字符

时间:2014-01-06 22:00:10

标签: c# xml c#-4.0

我需要通过XML请求发送特殊字符。为了完成这个动作,我将字符串转换为UTF-8,因为XML总是使用UTF-8数据编码。[使用下面的代码]

byte[] myBytes = Encoding.Default.GetBytes(MyMessage);
               MyMessage = Encoding.UTF8.GetString(myBytes);

我可以发送所有特殊字符,例如“!@ $%^ *()<>?”除了“#”和“&”。但是这两个角色对我来说非常重要。如何通过XML发送这两个字符。 我也尝试使用

替换和发送
MyMessage= MyMessage.Replace("&", "&");  
MyMessage= MyMessage.Replace("#", "#");

但它也不起作用。

我必须创建一个请求并发送到一个URL:样本请求格式如下:

http://1.2.3.4/Default.aspx?MSG_ID=20140107032647101768&BODY=test#&Time=20140107032647102769

1 个答案:

答案 0 :(得分:1)

替换& %26和#%23

这不是特定于XML的,它是一个URL问题。要抓住所有问题,请尝试HttpUtility.UrlEncode