1

我正在开发一个 Java 客户端应用程序,它将使用不同服务器的 REST Web 服务在服务器之间交换资源。在大多数情况下,资源是atom xml 的形式。但是当考虑更多系统时,情况可能会有所不同。

但是,我需要的是一种可以将 XML 作为对象访问的方法。例如,一个原子可能代表一个person,而我的客户端应用程序有一个Person对应于该 xml 的类。现在我需要一种将 XML 转换为该对象的方法。

复杂性:

  1. XML 将包含许多非原子标准节点。
  2. 资源可以嵌套。就像一个person原子可能包含friends
    • atom:content: 调用 person.friend 将返回friend对象。
    • 原子:饲料。调用 person.friends 将返回朋友数组。
  3. 需要双向转换。喜欢
    • XML => 对象(我刚刚描述的)
    • 对象 => XML。客户端应用程序将填充对象以发送到系统。

我到目前为止的调查:

  1. 使用基于 DOM 的 xml 库:我的类可以包含每个属性的 xpath,并使用任何基于 DOM 的 xml 解析器从 XML 中获取值并填充对象。我试过 XOM。

  2. Jaxb:我对简单的 XML 应用了编组和解组,但不确定其健壮性。

  3. Apache Abdera:我的朋友最近遇到了。似乎它默认支持标准原子属性。但是对于非原子标签,需要做多少额外的工作呢?

问题:

  1. 实现上述目标的首选方法是什么?
  2. 任何指导方针都会更加明显。
4

0 回答 0