Traiter avec XML non valide caractères hexadécimaux

Je suis en train d'envoyer un document XML sur le fil, mais la réception de l'exception suivante:

"MY LONG EMAIL STRING" was specified for the 'Body' element. ---> System.ArgumentException: '', hexadecimal value 0x02, is an invalid character.
   at System.Xml.XmlUtf8RawTextWriter.InvalidXmlChar(Int32 ch, Byte* pDst, Boolean entitize)
   at System.Xml.XmlUtf8RawTextWriter.WriteElementTextBlock(Char* pSrc, Char* pSrcEnd)
   at System.Xml.XmlUtf8RawTextWriter.WriteString(String text)
   at System.Xml.XmlUtf8RawTextWriterIndent.WriteString(String text)
   at System.Xml.XmlRawWriter.WriteValue(String value)
   at System.Xml.XmlWellFormedWriter.WriteValue(String value)
   at Microsoft.Exchange.WebServices.Data.EwsServiceXmlWriter.WriteValue(String value, String name)
   --- End of inner exception stack trace ---

Je n'ai pas de contrôle sur ce que je tente de l'envoyer, car la chaîne est recueillie à partir d'un e-mail. Comment puis-je encoder ma chaîne c'est donc valide XML tout en gardant les caractères illégaux?

J'aimerais garder les caractères d'origine d'une manière ou d'une autre.

Fournir de la chaîne (XML).
Dépend si les caractères illégaux sont des choses comme x0 que XML ne peut pas gérer du tout, ou des choses comme < qui ont simplement besoin d'être échappé.

OriginalL'auteur gcso | 2011-11-17