C# XML Serialisation of Object that has an Object field without namespaces -


i trying serialize object xml has 'object' field. want achieve xml no namespaces or attributes. able remove namespace of root element, however, object element remains having namespace.

my object serialize;

public class message {         public string metadata { get; set; }         public object payload { get; set; }           public message() {         }          public message(string metadata, object payload) {             this.metadata = metadata;             this.payload = payload;         }     } 

how serialize;

var s = new system.xml.serialization.xmlserializer(typeof(message)); var ns = new system.xml.serialization.xmlserializernamespaces(); ns.add(string.empty, string.empty); stringwriter writer = new stringwriter(); s.serialize(writer, payload, ns); writer.close(); 

my output:

<message>   <metadata>mymetadata</metadata>   <payload xmlns:q1="http://www.w3.org/2001/xmlschema" d2p1:type="q1:string" xmlns:d2p1="http://www.w3.org/2001/xmlschema-instance">mypayload</payload> </message> 

my ideal output:

<message>   <metadata>mymetadata</metadata>   <payload>mypayload</payload> </message> 

i java developer, , first day doing c#! apologies if missing obvious.

(my main goal end having following output)

<message>   <metadata>mymetadata</metadata>   <payload class="aclass">mypayload</payload> </message> 

but can myself once have found solution above problem!

the type attribute necessary in order able deserialize payload property; if serializer doesn't know type of content, how can deserialize it?

normally namespaces added root element, explicitly prevented specifying xmlserializernamespaces empty mapping, namespace added on payload element instead.

if use xmlserializer, best can this:

<message xmlns:xsi="http://www.w3.org/2001/xmlschema-instance" xmlns:xsd="http://www.w3.org/2001/xmlschema">   <metadata>mymetadata</metadata>   <payload xsi:type="xsd:string">mypayload</payload> </message> 

now, of course generate xml manually, without namespace, need way of knowing type of payload deserialization.


Comments

Popular posts from this blog

php - Calling a template part from a post -

Firefox SVG shape not printing when it has stroke -

How to mention the localhost in android -