如何使用JAXB对来自/来自camelcased Java的XML强制/编组? [英] How to un/marshall underscored XML to/from camelcased Java using JAXB?

查看:57
本文介绍了如何使用JAXB对来自/来自camelcased Java的XML强制/编组?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

奇怪的是我找不到一个现有的问题。我只是在寻找一种方法(希望是一个单行)来进行程序化转换,例如< sales_order_number> salesOrderNumber ,然后再返回。



<在杰克逊方面,我正在寻找JAXB等价物:

  mapper.setPropertyNamingStrategy(new PropertyNamingStrategy.LowerCaseWithUnderscoresStrategy() )

感谢任何帮助!

解决方案

注意:我是 EclipseLink JAXB(MOXy) 领导和 JAXB(JSR-222) 专家组。



使用标准JAXB API,您将需要使用JAXB单个属性上的注释将覆盖默认名称。

  @XmlElement(name =sales_order_number)
private String salesOrderNumber ;

MOXy提供扩展机制( XMLNameTransformer )您可以在其中覆盖默认名称算法:




Strangely I couldn't find an existing question on this. I'm simply looking for a way (hopefully a one-liner) to do a programmatic conversion from e.g. <sales_order_number> to salesOrderNumber, and back again.

In Jackson terms, I'm looking for the JAXB equivalent of:

mapper.setPropertyNamingStrategy(new PropertyNamingStrategy.LowerCaseWithUnderscoresStrategy())

Any help gratefully received!

解决方案

Note: I'm the EclipseLink JAXB (MOXy) lead and a member of the JAXB (JSR-222) expert group.

Using the standard JAXB APIs you will need to use the JAXB annotations on individual properties to override the default name.

@XmlElement(name="sales_order_number")
private String salesOrderNumber;

MOXy provides am extension mechanism (XMLNameTransformer) where you can override the default name algorithm:

这篇关于如何使用JAXB对来自/来自camelcased Java的XML强制/编组?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆