2011-03-01 34 views
8

JAXB簡單綁定模式將集合名稱修改爲它們的複數 「版本」,例如, 「additionalData」變成「additionalDatas」。有沒有解決方案來改變這種行爲?我需要一個Java字段名稱和方法名稱等於XSD字段名稱。我的綁定文件:爲什麼JAXB 2 RI的XJC簡單模式更改集合名稱?

<?xml version="1.0" encoding="UTF-8"?> 
<bindings xmlns="http://java.sun.com/xml/ns/jaxb" 
      xmlns:xsi="http://www.w3.org/2000/10/XMLSchema-instance" 
      xmlns:xjc="http://java.sun.com/xml/ns/jaxb/xjc" 
      xsi:schemaLocation=" 
http://java.sun.com/xml/ns/jaxb http://java.sun.com/xml/ns/jaxb/bindingschema_2_0.xsd" 
version="2.1"> 
    <globalBindings> 
    <serializable uid="1" /> 
    <xjc:simple/> 
    </globalBindings> 
</bindings> 

回答

5

「簡單綁定模式」是JAXB RI(Metro)的擴展功能。使集合名稱複數是其設計的一部分。

來源:http://weblogs.java.net/blog/kohsuke/archive/2007/01/using_jaxb_ris.html

在JAXB RI我最喜歡的功能是 簡單的和更好的結合模式, 這使得生成的代碼,甚至 更容易被使用,...

  1. 消除JAXBElement多達 可能
  2. 給你一個更好,更多 鍵入綁定一般
  3. 使用複數 屬性名稱適用

您可以使用正常模式的自定義控制屬性名稱。請參考我以前的答案(下面的鏈接)之一:

+0

有沒有辦法關閉這個功能,並繼續使用「簡單的綁定模式」?因爲我需要它將@XmlRootElement添加到生成的類。 – User123456789

相關問題