J'essaie de sérialiser un objet en mémoire, de le passer à un autre processus sous forme de chaîne et de le désérialiser.XmlSerializer Convertit les nouvelles lignes
J'ai découvert que le processus de sérialisation XML déconnecte les lignes de retour pour les chaînes dans l'objet.
byte[] b;
// serialize to memory.
using (MemoryStream ms = new MemoryStream())
{
XmlSerializer xml = new XmlSerializer(this.GetType());
xml.Serialize(ms, this);
b = ms.GetBuffer();
}
// I can now send the bytes to my process.
Process(b);
// On the other end, I use:
using (MemoryStream ms = new MemoryStream(b))
{
XmlSerializer xml = new XmlSerializer(this.GetType());
clone = (myObject)xml.Deserialize(ms);
}
Comment puis-je sérialiser un objet sans sérialisation sur disque comme ça, mais sans mutiler les sauts de ligne dans les cordes?
Exactement quelles nouvelles lignes sont dépouillées? –
Dans myObjcet, j'ai plusieurs chaînes, chacune pouvant contenir des nouvelles lignes. – Jerry
Aussi, avez-vous le contrôle sur les classes en cours de sérialisation? Les deux processus exécutent-ils tous les deux .NET? Si oui, vous avez de meilleures options. –