I’m serializing an object in a C# VS2003 / .Net 1.1 application. I need it serialized without the processing instruction, however. The XmlSerializer class puts out something like this:
<?xml version='1.0' encoding='utf-16' ?> <MyObject> <Property1>Data</Property1> <Property2>More Data</Property2> </MyObject>
Is there any way to get something like the following, without processing the resulting text to remove the tag?
<MyObject> <Property1>Data</Property1> <Property2>More Data</Property2> </MyObject>
For those that are curious, my code looks like this…
XmlSerializer serializer = new XmlSerializer(typeof(MyObject)); StringBuilder builder = new StringBuilder(); using ( TextWriter stringWriter = new StringWriter(builder) ) { serializer.Serialize(stringWriter, comments); return builder.ToString(); }
The following link will take you to a post where someone has a method of supressing the processing instruction by using an XmlWriter and getting into an ‘Element’ state rather than a ‘Start’ state. This causes the processing instruction to not be written.
Suppress Processing Instruction