Fist make an object of your data
using System;
using System.Xml.Serialization;
using System.Collections.Generic;
namespace XmlSerialize
{
[XmlRoot(ElementName="push")]
public class Push {
[XmlAttribute(AttributeName="cert_num")]
public string Cert_num { get; set; }
[XmlAttribute(AttributeName="pre")]
public string Pre { get; set; }
[XmlAttribute(AttributeName="code")]
public string Code { get; set; }
[XmlAttribute(AttributeName="post")]
public string Post { get; set; }
}
[XmlRoot(ElementName="request")]
public class Request {
[XmlElement(ElementName="push")]
public Push Push { get; set; }
[XmlAttribute(AttributeName="subject")]
public string Subject { get; set; }
[XmlAttribute(AttributeName="action")]
public string Action { get; set; }
[XmlAttribute(AttributeName="id")]
public string Id { get; set; }
}
[XmlRoot(ElementName="epolice")]
public class Epolice {
[XmlElement(ElementName="request")]
public Request Request { get; set; }
[XmlElement(ElementName="signature")]
public string Signature { get; set; }
}
}
Serialize
private static string XMLSerializer(object obj)
{
string xml = "";
XmlWriterSettings xmlWriterSettings = new XmlWriterSettings
{
Encoding = Encoding.UTF8,
Indent = true
};
using (var sww = new Utf8StringWriter())
{
using (XmlWriter writer = XmlWriter.Create(sww, xmlWriterSettings))
{
XmlSerializer serializer = new XmlSerializer(obj.GetType());
serializer.Serialize(writer, obj);
xml = sww.ToString();
}
}
return xml;
}
private sealed class Utf8StringWriter : StringWriter
{
public override Encoding Encoding { get { return Encoding.UTF8; } }
}
Then you can post your xml serialized
Look this example post