三种序列化形式的不同之处

三种序列化方式的不同之处?
我新手一个,才知道对象原来可以通过序列化来保存,貌似有3种方式:XML序列化、Soap序列化和Binary序列化
我自己的理解:
1、XML序列化是将对象中的字段名.值、属性名.值用节点保存为XML文件
2、Soap序列化:不知道
3、Binary序列化:是将对象在内存中的数据完整的保存为文件,可以把对象完完全全的保存下来
是这样吗?
那Binary序列化的方式是否所有对象都可以?包括控件(ListView、DataRow....)、Image等等都可以??
------解决方案--------------------
(1)soap和xml差不多,soap也是一种xml
(2)不是,因为一些东西没办法重建,比如说窗口的句柄,指针,进程id,这些东西序列化再恢复出来其实已经没有意义了