ADO.NET XmlSerialization of extended DataTable

We are migrating communication protocol from .NET Remoting to WCF.
Due to legacy fo this project, domain object is a DataTable that has some additional fields.
In .NET Remoting serialization of that kind of object works perfectly, but in WCF these additional fields are not serialized.
Instead of binary serialization in .NET Remoting, XML serialization is used in WCF.

As you can see I’m creating dummy WcfDataTable object, which I’m cloning using xml serialization and deserialization.
The cloned object is not identical with the original object, because this additional field is not initialized with the original value (it’s null).
The existing xml serialization doesn’t catch the new field in the class.
To make possible this field for xml serialization we should override the existing xml serialization, but how to do it?
The solution is really simple. You have to implement the interface IXmlSerializable with explicit override of all its methods.

To make this workaround we have to override WriteXml and ReadXml method explicitly.
The methods ReadXmlSchema and WriteXmlSchema are used to read and write the schema of data table.
Then we can write/read our new field and then to invoke basic logic for serialization or deserializtion.