オブジェクトをメモリにシリアル化し、別のプロセスに文字列として渡してデシリアライズしようとしています。XmlSerializer改行を変換します。
私は、XMLシリアル化プロセスがオブジェクトの文字列の改行を取り除くことを発見しました。
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);
}
オブジェクトをこのようにディスクにシリアル化せずに直列化するにはどうすればよいですか?文字列に改行をマングリングしないでください。
どの改行が削除されますか? myObjcetの –
には、いくつかの文字列があり、それぞれに改行を入れることができます。 – Jerry
また、シリアル化されているクラスを制御できますか? 2つのプロセスはどちらも.NETを実行していますか?もしそうなら、はるかに良い選択肢があります。 –