Eu gerei uma lista e converti para XML, Porém o nome do principal campo do XML está com um nome que o sistema que eu preciso enviar não aceita.
Meu xml está indo mais ou menos assim:
<ArrayOfServiceLocal>
<servicelocal></servicelocal>
<servicelocal></servicelocal>
</ArrayOfServiceLocal>
Preciso que a tag <ArrayOfServiceLocal> abra e feche desta forma:
<servicelocals> </servicelocals> Com o S no final e sem o ArrayOF no inicio
Como eu altero isso?
O melhor dos mundos é eu conseguir gerar um XML limpo, sem nenhum tipo de informação adicional, a nao ser as tags que eu passar... É possivel isso?
Trecho do meu codigo:
if (Consulta.Rows.Count > 0)
{
serviceLocal varServicelocal = new serviceLocal();
List<serviceLocal> serviceLocals = new List<serviceLocal>();
//recebe = Consulta.Rows[0]["id_user"].ToString();
int TotalReg = Consulta.Rows.Count;
for (int contador = 0; contador < TotalReg;)
{
varServicelocal.description = Consulta.Rows[contador]["nom_fan_cl"].ToString();
varServicelocal.alternativeIdentifier = Consulta.Rows[contador]["codigo_cl"].ToString();
varServicelocal.corporateName = Consulta.Rows[contador]["raz_soc_cl"].ToString();
varServicelocal.cityNeighborhood = Consulta.Rows[contador]["cidade_cl"].ToString();
varServicelocal.state = Consulta.Rows[contador]["uf_cl"].ToString();
varServicelocal.street = Consulta.Rows[contador]["ender_cl"].ToString();
serviceLocals.Add(varServicelocal);
contador++;
StringWriter retorno = new StringWriter();
XmlSerializer xmlSer = new XmlSerializer(serviceLocals.GetType());
xmlSer.Serialize(retorno, serviceLocals);
Console.Write(retorno);
//Url da api
var url =
"https://api.umov.me/CenterWeb/api/21395eca4e26fc832dfdfedhddddddddddddjfj391388/serviceLocals.xml";
var requesString = (string.Format("data={0}", retorno, Encoding.UTF8));
var request = (HttpWebRequest)WebRequest.Create(url);
request.Method = "POST";
request.ContentType = "application/x-www-form-urlencoded";
// Aqui grava o 'xml' como parametro
var stream = new StreamWriter(request.GetRequestStream());
stream.WriteLine(requesString);
stream.Close();
var response = (HttpWebResponse)request.GetResponse();
if (request != null) request.GetRequestStream().Close();
var resposta = "";
if (response != null)
{
var streamReader = new StreamReader(response.GetResponseStream());
resposta = streamReader.ReadToEnd();
streamReader.Close();
response.GetResponseStream().Close();
}
Console.Write(resposta);
Console.Read();
}
}