How do we remove XML definition () when we serialize List object to xml in C#?
<?xml version="1.0" encoding="utf-16"?>
Use XmlWriterSettings.OmitXmlDeclaration
, and pass in the XmlWriterSettings
instance when instantiating your XmlWriter
.
Copied & pasted example from the link:
XmlWriterSettings settings = new XmlWriterSettings();
settings.Indent = true;
settings.OmitXmlDeclaration = true;
settings.NewLineOnAttributes = true;
writer = XmlWriter.Create(Console.Out, settings);
writer.WriteStartElement("order");
writer.WriteAttributeString("orderID", "367A54");
writer.WriteAttributeString("date", "2001-05-03");
writer.WriteElementString("price", "19.95");
writer.WriteEndElement();
writer.Flush();
OP apparently wanted this xml generated to a string that OP could pass back in an API response.
string result;
using (var stream = new MemoryStream()) {
XmlWriterSettings settings = new XmlWriterSettings();
settings.Indent = true;
settings.OmitXmlDeclaration = true;
settings.NewLineOnAttributes = true;
writer = XmlWriter.Create(stream, settings);
writer.WriteStartElement("order");
writer.WriteAttributeString("orderID", "367A54");
writer.WriteAttributeString("date", "2001-05-03");
writer.WriteElementString("price", "19.95");
writer.WriteEndElement();
writer.Flush();
result = Encoding.UTF8.GetString(stream.ToArray());
}