WebClient上传字符串

时间:2014-06-09 08:00:55

标签: .net webclient uploadstring

我使用WebClient使用UploadString将字符串发布到WebApiController。

字符串Im upload是一个包含DateTime的Xml文件,格式如下:" yyyy-mm-ddThh:mm:ss.000 + zzz"。

我遇到的问题是字符串发送正常,但端点ApiController获取的字符串没有" +" DateTime中的字符。它被替换为" "

如何格式化Xml字符串,以便我得到" +" ApiController中的角色?

我试过

HttpUtility.UrlEncode(xmlString) 

但它没有做任何事情。

非常感谢,

Rotem公司

1 个答案:

答案 0 :(得分:1)

string someData = "<foo>yyyy-mm-ddThh:mm:ss.000+zzz</foo>";
string urlPart = HttpUtility.UrlEncode(someData);

给出:

%3cfoo%3eyyyy-mm-ddThh%3amm%3ass.000%2bzzz%3c%2ffoo%3e

应该可以正常工作; %2b是编码的+。另一种选择是:

string someData = "<foo>yyyy-mm-ddThh:mm:ss.000+zzz</foo>";
string urlPart = Uri.EscapeDataString(someData);

给出了

%3Cfoo%3Eyyyy-mm-ddThh%3Amm%3Ass.000%2Bzzz%3C%2Ffoo%3E

在语义上相同(它仅在%编码令牌的情况下有所不同,但这并不重要)。它应该可以正常工作。