.NET 和Java 对象 XML序列化 库WOX

当 .NET 应用程序将对象转换为 XML 文档并存储该 XML。实际上,XML 被用作可移植数据存储机制,因为 .NET 对象被转换为 XML,然后又从 XML 转换为 Java,反之亦然。

Carlos Jaimez 和 Simon Lucas 开发的 Web Objects in XML(WOX,woxserializer.sourceforge.net)就是一个完成此项任务的开源项目。

下面是摘自其网站的 Java 到 .NET 转换示例。下面是采用 Java 和 C# 定义的 Student 和 Course 类。

图 3 用 Java 和 C# 编写的 Student 和 Course 类

  1.           // Java classes
  2. public class Student
  3. {
  4.   private String name;
  5.   private int registrationNumber;
  6.   private Course[] courses;
  7. }
  8. public class Course
  9. {
  10.   private int code;
  11.   private String name;
  12.   private int term;
  13. }
  14.  
  15. // ***************************************************
  16. // .NET classes in C#
  17. public class Student
  18. {
  19.   private String name;
  20.   private Int32 registrationNumber;
  21.   private Course[] courses;
  22. }
  23. public class Course
  24. {
  25.   private Int32 code;
  26.   private String name;
  27.   private Int32 term;
  28. }
  29.        

如果我们使用 .NET 和 Java 应用程序将以上 Student 和 Course 对象使用 WOX 库将这些对象转换为 XML。 之后,如果应用程序想要从XML读取这些对象,则再次读取 WOX 库,将 XML 转换回 Java 或 .NET 对象格式。下面是转换为 XML 格式的 Student 和 Course 类。

转换为 XML 的 Java 和 .NET 类

  1. <object type="Student" id="0">
  2.   <field name="name" type="string" value="Carlos Jaimez"/>
  3.   <field name="registrationNumber" type="int" value="76453"/>
  4.   <field name="courses">
  5.     <object type="array" elementType="Course" length="3" id="1">
  6.       <object type="Course" id="2">
  7.         <field name="code" type="int" value="6756"/>
  8.         <field name="name" type="string"
  9.           value="XML and Related Technologies"/>
  10.         <field name="term" type="int" value="2"/>
  11.       </object>
  12.       <object type="Course" id="3">
  13.         <field name="code" type="int" value="9865"/>
  14.         <field name="name" type="string"
  15.           value="Object Oriented Programming"/>
  16.         <field name="term" type="int" value="2"/>
  17.       </object>
  18.       <object type="Course" id="4">
  19.         <field name="code" type="int" value="1134"/>
  20.         <field name="name" type="string" value="E-Commerce Programming"/>
  21.         <field name="term" type="int" value="3"/>
  22.       </object>
  23.     </object>
  24.   </field>
  25. </object>
  26.        

在您的应用程序中调用 WOX将XML转换为.NET或是Java对象。

欢迎大家扫描下面二维码成为我的客户,为你服务和上云

原文地址:https://www.cnblogs.com/shanyou/p/1870828.html