I am trying to write a serialized xml object to an xml file with some XmlWriterSettings in place. The XML is written alright but none of the XmlWriterSettings seem to work.
Below is what I have tried so far.
Attempt 1:
<code>var serializer = new XmlSerializer(typeof(MyObject));
using (var stream = new StreamWriter(outXmlFile))
using (var xmlWriter = XmlWriter.Create(stream, new XmlWriterSettings() { OmitXmlDeclaration = true, Indent = true, IndentChars = "t", Encoding = Encoding.UTF8 }))
serializer.Serialize(stream, xmlObj);
</code>
<code>var serializer = new XmlSerializer(typeof(MyObject));
using (var stream = new StreamWriter(outXmlFile))
using (var xmlWriter = XmlWriter.Create(stream, new XmlWriterSettings() { OmitXmlDeclaration = true, Indent = true, IndentChars = "t", Encoding = Encoding.UTF8 }))
serializer.Serialize(stream, xmlObj);
</code>
var serializer = new XmlSerializer(typeof(MyObject));
using (var stream = new StreamWriter(outXmlFile))
using (var xmlWriter = XmlWriter.Create(stream, new XmlWriterSettings() { OmitXmlDeclaration = true, Indent = true, IndentChars = "t", Encoding = Encoding.UTF8 }))
serializer.Serialize(stream, xmlObj);
Attempt 2:
<code>var serializer = new XmlSerializer(typeof(MyObject));
string xmlStr;
using (var memoryStream = new MemoryStream())
using (var xmlWriter = XmlWriter.Create(memoryStream, new XmlWriterSettings() { OmitXmlDeclaration = true, Indent = true, IndentChars = "t", Encoding = Encoding.UTF8 }))
{
serializer.Serialize(memoryStream, xmlObj);
memoryStream.Seek(0, SeekOrigin.Begin);
var streamReader = new StreamReader(memoryStream);
xmlStr = streamReader.ReadToEnd();
}
using (var streamWriter = new StreamWriter(outXmlFile, false, Encoding.UTF8))
streamWriter.WriteLine(xmlStr);
</code>
<code>var serializer = new XmlSerializer(typeof(MyObject));
string xmlStr;
using (var memoryStream = new MemoryStream())
using (var xmlWriter = XmlWriter.Create(memoryStream, new XmlWriterSettings() { OmitXmlDeclaration = true, Indent = true, IndentChars = "t", Encoding = Encoding.UTF8 }))
{
serializer.Serialize(memoryStream, xmlObj);
memoryStream.Seek(0, SeekOrigin.Begin);
var streamReader = new StreamReader(memoryStream);
xmlStr = streamReader.ReadToEnd();
}
using (var streamWriter = new StreamWriter(outXmlFile, false, Encoding.UTF8))
streamWriter.WriteLine(xmlStr);
</code>
var serializer = new XmlSerializer(typeof(MyObject));
string xmlStr;
using (var memoryStream = new MemoryStream())
using (var xmlWriter = XmlWriter.Create(memoryStream, new XmlWriterSettings() { OmitXmlDeclaration = true, Indent = true, IndentChars = "t", Encoding = Encoding.UTF8 }))
{
serializer.Serialize(memoryStream, xmlObj);
memoryStream.Seek(0, SeekOrigin.Begin);
var streamReader = new StreamReader(memoryStream);
xmlStr = streamReader.ReadToEnd();
}
using (var streamWriter = new StreamWriter(outXmlFile, false, Encoding.UTF8))
streamWriter.WriteLine(xmlStr);
Am I missing something or not using correctly?