我正在寻找一个 XML 序列化框架,它有一个 XML 配置选项,而不是注释来命名类和字段。
我查看了 Simple 和 XStream,但没有找到方法。我想我可以使用 Spring IOC 和 XStreams 别名,但是如果有任何框架可以为我做到这一点,那当然会更好:)
我正在寻找一个 XML 序列化框架,它有一个 XML 配置选项,而不是注释来命名类和字段。
我查看了 Simple 和 XStream,但没有找到方法。我想我可以使用 Spring IOC 和 XStreams 别名,但是如果有任何框架可以为我做到这一点,那当然会更好:)
JiBX 是一个 Java 到 XML 绑定框架,您可以在其中使用 XML 绑定。XML 有点冗长,有时可能有点难以管理,但任何 XML 配置都是如此。我知道你说你看过xstream,但是一些xstream配置可以通过代码完成(不是配置,而是通过配置xstream对象,例如省略字段)。我不确定这对你来说是否足够,但你可以在没有注释的情况下做一些事情。
EclipseLink JAXB (MOXy)有一个基于 JAXB 元数据的外部化绑定文件
示例文件如下所示:
<xml-bindings xmlns="http://www.eclipse.org/eclipselink/xsds/persistence/oxm">
<java-types>
<java-type name="org.example.order.PurchaseOrder">
<java-attributes>
<xml-attribute java-attribute="id"/>
<xml-element java-attribute="customer">
<xml-java-type-adapter value="org.example.order.CustomerAdapter"/>
</xml-element>
<xml-element java-attribute="lineItems" name="line-item"/>
</java-attributes>
</java-type>
</java-types>
</xml-bindings>
有关更多信息,请参阅: - http://wiki.eclipse.org/EclipseLink/Examples/MOXy/EclipseLink-OXM.XML
我喜欢 XStream,因为它主要是 Just Works TM。
我自己没有尝试过,也没有深思熟虑,但是您是否考虑过将 XStream 用于实际数据和它自己的配置?我认为您可以使用 XStream 读取配置文件,然后在处理数据之前使用String
从中获得的(简单)数据作为alias()
方法调用的参数。