1

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

Im 上传的字符串是一个 Xml 文件,其中包含以下格式的 DateTime:“yyyy-mm-ddThh:mm:ss.000+zzz”。

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

如何格式化 Xml 字符串,以便在 ApiController 中获得“+”字符?

我试过

HttpUtility.UrlEncode(xmlString) 

但它什么也没做。

非常感谢,

罗腾

4

1 回答 1

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

这在语义上是相同的(仅在 % 编码标记的情况下有所不同,但这并不重要)。无论哪种方式,它都应该可以正常工作。

于 2014-06-09T08:08:22.707 回答