1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
|
public static string Serialize(XmlSerializer serializer,
Encoding encoding,
XmlSerializerNamespaces ns,
bool omitDeclaration,
object objectToSerialize)
{
MemoryStream ms = new MemoryStream();
XmlWriterSettings settings = new XmlWriterSettings();
settings.Indent = true;
settings.OmitXmlDeclaration = omitDeclaration;
settings.Encoding = encoding;
XmlWriter writer = XmlWriter.Create(ms, settings);
serializer.Serialize(writer, objectToSerialize, ns);
string s = encoding.GetString(ms.ToArray());
var document = XDocument.Parse(s);
StringBuilder builder = new StringBuilder();
using (TextWriter sWriter = new EncodingStringWriter(builder, encoding))
{
document.Save(sWriter);
return builder.ToString();
}
} |
Partager