1、您可以自己定义格式,而不是将对象的表示委托给JVM和ObjectInputStream和ObjectOutputStream的机制。
2、这样做的一个巨大优势是,一旦对象被序列化,任何理解您的格式的进程都可以读取它,无论是另一个JVM还是完全不同的设置。
3、定义域对象的流行符号是XML。它支持数据的良好结构表示,而且大多数语言都有完善的库来解析和编写XML。
4、称为XML Schema Defi艘绒庳焰nition (XSD)的元语言允许您使用XML标记定义域对象,XML标记用于创建XML文档。Java有一个名为JAXB的库,它理解XSD表示法,可以从这些文档创建Java对象。此库通常用于其他库中序列化和反序列化对象,用于SOAP应用程序或类似的应用程序。
5、下图显示了一个XSD,用于表示运动队中的运动员。
6、该模式允许创建团队类型,在该类型的属性中,它包含一组玩家类型。这允许创建示例XML文档,如下图所示。
7、通过在团队定义中包含模式位置,您使用的任何理解XSD的软件都可以验证该文档。这包括JAXB等解析器,甚至包括支持智能XML和XSD的ide。它们可以提供智能自动完成功能,帮助您生成文档。