我使用WebClient使用UploadString将字符串发布到WebApiController。
字符串Im upload是一个包含DateTime的Xml文件,格式如下:" yyyy-mm-ddThh:mm:ss.000 + zzz"。
我遇到的问题是字符串发送正常,但端点ApiController获取的字符串没有" +" DateTime中的字符。它被替换为" "
如何格式化Xml字符串,以便我得到" +" ApiController中的角色?
我试过
HttpUtility.UrlEncode(xmlString)
但它没有做任何事情。
非常感谢,
Rotem公司
答案 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
在语义上相同(它仅在%编码令牌的情况下有所不同,但这并不重要)。它应该可以正常工作。