一方面是XML的广泛应用,现在很少看到哪个项目里不用到它;一方面是面向对象语言的推陈出新,Java已经很好用了,微软也来凑热闹,搞出个很傻瓜的C#。为了方便XML数据和对象实例之间的信息交换,Java提供了JAXB(Java Architecture for XML Binding), .Net提供了XmlSerializer。
这两套东西的思想极其相似。我们知道,在XML文档的格式主要是由Schema文件定义的,而面向对象语言中的类实例是由类类型来定义的。在XML序列化中,Schema文件对应着类类型,XML文档对应着类实例。在Java和.Net中都提供了由Schema文件自动产生对象文件的工具,分别是:Xsd.exe和xjc.bat(sh)。当然,Java和.Net提供的自动转换工具的功能还远不至于这些。