Cómo serializar un objeto ISerializable en SOAP o Json o Xml

Tengo un objeto complejo que es ISerializable y quiero serializarlo en un documento XML (nodo en el que prefiero no cambiar el código fuente y agregar cosas de atributos de serialización XML). ISerializable funciona bien con BinaryFormatter, pero no hay una forma estándar de serializarlo en XML o Json. La biblioteca Json.NET admite la serialización de un objeto ISerializable en json, pero hay un problema muy pequeño con esa implementación, y es que el constructor serializable de la clase debe ser público para que Json.net lo detecte (vereste problema) y esto hace que Json.net sea inutilizable para mi caso.

¿Hay alguna otra forma de serializar / deserializar un objeto ISerializable a / desde xml, Json o cualquier otro formato de texto plano?

Respuestas a la pregunta(2)

Su respuesta a la pregunta