Я бы порекомендовал упростить этот грязный код:
using (var client = new WebClient())
{
var values = new NameValueCollection
{
{ "XMLData", format }
};
byte[] resultBuffer = client.UploadValues(url, values);
string result = Encoding.UTF8.GetString(resultBuffer);
}
и если вы хотите загрузить XML непосредственно в теле сообщения POST, вам не следует использовать application/x-www-form-urlencoded
в качестве типа содержимого. Вы, вероятно, должны указать правильный тип контента, например:
using (var client = new WebClient())
{
client.Headers[HttpRequestHeader.ContentType] = "text/xml";
var data = Encoding.UTF8.GetBytes(format);
byte[] resultBuffer = client.UploadData(url, data);
string result = Encoding.UTF8.GetString(resultBuffer);
}