__>Стесняюсь спросить... А документацией пробовал пользоваться?
___>___>XmlReader reader = XmlReader.Create(tcp_client.GetStream());
___>XmlDocument doc = new XmlDocument();
___>doc.Load(reader);
___>doc.Save("request.xml");
___>
Вариант, строк мало, но чем он мне не нравится — так это то что doc не загрузится если XML битый, хотелось бы то что получили то и сохранили 1 в 1.
и еще нужно XmlReader откатить в первоначальное состояние ...
Документацией пользовался , только вот с ходу паттерны придумать не могу

Иногда встречаю интересные приемы, до которых бы сам наверное не догадался бы...
Кстати этот вариант
XmlReader reader = XmlReader.Create(tcp_client.GetStream());
у меня почему-то виснет и работает только в случае
buffer = new Byte[buffersize];
tcp_client.GetStream().Read( buffer, 0, buffersize );
XmlReader reader = XmlReader.Create( buffer );
с чем это связано понять не могу