2014-10-30 105 views
1

我在JAXB結構generatade:JAXB - 改變結構的子節點

<Crm> <codigo>000</codigo> <uf>GO</uf> <crm>7784CRM</crm> <Especialidade> <codigo>13</codigo> <nome>CIRURGIA</nome> </Especialidade> <Especialidade> <codigo>14</codigo> <nome>CIRURGIA GERAL</nome> </Especialidade> </Crm>

我需要這個結構

<Crm> <codigo>0000</codigo> <uf>GO</uf> <crm>0000CRM</crm> <Especialidade> <codigo>13</codigo> <nome>CIRURGIA PLASTICA</nome> <codigo>14</codigo> <nome>CIRURGIA GERAL</nome> </Especialidade> </Crm>

的CrmDTO類:

@XmlRootElement 
@XmlAccessorType(XmlAccessType.FIELD) 
public class CrmDTO extends ParentDTO { 

@XmlElement(name="codigo") 
private Long CODIGO; 

@XmlElement(name="uf") 
private String UF; 

@XmlElement(name="crm") 
private String CRM; 

@XmlElement(name = "Especialidade") 
private List<EspecialidadeDTO> especialidades; 

EspecialidadeDTO類:

@XmlType(propOrder= {"CODIGO", "NOME"}) 
@XmlAccessorType(XmlAccessType.FIELD) 
public class EspecialidadeDTO extends ParentDTO { 

@XmlElement(name="codigo") 
private Long CODIGO; 

@XmlElement(name="nome") 
private String NOME; 

我已經嘗試了幾種方法,不能幫助我想要的方式。 放一些註釋我發現了一些教程,但未能

+0

我不在班上看不到'nome'。 – lexicore 2014-10-30 13:43:17

+0

插入有問題的新代碼 – adelmo00 2014-10-30 13:50:53

+0

您當前擁有的XML格式作爲集合處理(通過任何XML工具,我能想到)要容易得多,並且對訂購和缺少元素非常容忍。你有很難提供你正在尋找的格式嗎? – 2014-10-30 13:53:57

回答

1

你將需要代表namecodigo元素與@XmlElements註釋一個List屬性來獲取您正在尋找的行爲:

@XmlRootElement(name="Crm") 
@XmlAccessorType(XmlAccessType.FIELD) 
public class CrmDTO extends ParentDTO { 

    @XmlElement(name = "codigo") 
    private Long CODIGO; 

    @XmlElement(name = "uf") 
    private String UF; 

    @XmlElement(name = "crm") 
    private String CRM; 

    @XmlElementWrapper(name="Especialidade") 
    @XmlElements({ 
     @XmlElement(name="codigo", type=Long.class), 
     @XmlElement(name="name", type=String.class) 
    }) 
    private List<Object> especialidades; 

} 
+0

返回了錯誤:EspecialidadeDTO類及其任何超類已知此上下文 – adelmo00 2014-10-30 14:56:08

+0

@ adelmo00 - 您將需要有一個「對象」列表,其中的內容或者是「字符串「或」長「。 – 2014-10-30 14:58:31

+0

有沒有其他方法可以在不改變列表的對象類型的情況下實現結果? – adelmo00 2014-10-30 17:22:55