2011-12-24 46 views
3

奇怪的是我找不到這個問題上存在的問題。我只是在尋找一種方式(希望能夠單行)來從例如程序轉換中進行轉換。 <sales_order_number>salesOrderNumber,然後再回來。如何使用JAXB將/強調的XML解析爲camelcased Java?

在傑克遜而言,我正在尋找的JAXB等價的:

mapper.setPropertyNamingStrategy(new PropertyNamingStrategy.LowerCaseWithUnderscoresStrategy()) 

任何幫助感激地接受!

回答

3

備註:我是EclipseLink JAXB (MOXy)的領導者,也是JAXB (JSR-222)專家組的成員。

使用標準的JAXB API,您將需要在各個屬性上使用JAXB註釋來覆蓋默認名稱。

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

莫西上午提供的擴展機制(XMLNameTransformer),您可以覆蓋默認名稱算法:

+0

非常感謝布萊斯!我已經在這裏發佈了後續問題:http://stackoverflow.com/questions/8629025/how-do-i-use-moxy-from-scala – 2011-12-25 09:36:45

+0

@Blaise所以我試圖讓我的項目工作並且變壓器從未被激活。我已經嘗試了包級別和類級別定義。之後,我試圖從你的博客http://blog.bdoughan.com/2011/05/overriding-jaxbs-name-mangling.html複製這個例子,這也失敗了。我的環境使用與Glassfish 3.1.2捆綁在一起的Eclipselink 2.3.2.v20111125-r10461。它應該在這樣的環境下工作,對吧? – NBW 2014-12-03 00:28:19

+0

@Blaise我看到XMLNameTransformer定義了從java到xml的轉換。但是,我怎麼才能定義相反的,所以我可以解開xml與滑稽的框? – Vituel 2015-04-23 20:39:54