XmlSerializer 'forgetting' my namespace

Posted by Michel on Stack Overflow See other posts from Stack Overflow or by Michel
Published on 2010-05-14T19:30:47Z Indexed on 2010/05/14 19:34 UTC
Read the original article Hit count: 261

Filed under:
|

Hi,

i have to create an XML file with all the elements prefixed, like this:

<ps:Request num="123" xmlns:ps="www.ladieda.com">
   <ps:ClientId>5566</ps:ClientId>
<ps:Request>

When i serialize my object, c# is smart and does this:

<Request num="123" xmlns="www.ladieda.com">
   <ClientId>5566</ClientId>
<Request>

That is good, because the ps: is not necessary.

But is there a way to force C# to serialize all the prefixes?

My serialize code is this (for incoming object pObject):

String XmlizedString = null;
MemoryStream memoryStream = new MemoryStream();
XmlSerializer xs = new XmlSerializer(pObject.GetType());
XmlTextWriter xmlTextWriter = new XmlTextWriter(memoryStream, Encoding.UTF8);

xs.Serialize(xmlTextWriter, pObject);
memoryStream = (MemoryStream)xmlTextWriter.BaseStream;
XmlizedString = UTF8ByteArrayToString(memoryStream.ToArray());
return XmlizedString;


private String UTF8ByteArrayToString(Byte[] characters)
{
    UTF8Encoding encoding = new UTF8Encoding();
    String constructedString = encoding.GetString(characters);
    return (constructedString);
}

© Stack Overflow or respective owner

Related posts about c#

Related posts about xml-serialization