5
可能重複:
jaxb xjc mapping to existing domain objectsJAX-B - 如何架構元素映射到現有的Java類
我使用JAX-B以生成一個XML架構的Java類。
我的模式中有一個元素,我想綁定到存在於我的項目中的Java類。我的綁定是在.xjb文件中完成的。我嘗試了幾種方法,但無法獲得任何工作。
這可能嗎? 如果是這樣,怎麼樣?
這裏是我的問題的一個小例子:
我現有的Java類:
package com.existing;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlType;
@XmlAccessorType(XmlAccessType.FIELD)
public class Existing {
private String prop;
public String getProp() { return prop; }
public void setProp(String prop) { this.prop = prop; }
}
我的架構:
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
targetNamespace="http://www.baloiselife.com/xpression/policy"
xmlns="http://www.baloiselife.com/xpression/policy" >
<xs:element name="root_node">
<xs:complexType>
<xs:sequence>
<xs:element name="some_other_propery" type="xs:string"/>
<!-- I want this element to map onto my existing Java class -->
<xs:element name="special_element" type="existing_type" minOccurs="0" />
</xs:sequence>
</xs:complexType>
</xs:element>
<!-- I want this element to be ignored, and instead my Java class used -->
<xs:complexType name="existing_type">
<xs:sequence>
<xs:element name="prop" type="xs:string" minOccurs="0" />
</xs:sequence>
</xs:complexType>
所以任何想法就是我結合應該是什麼? 我嘗試使用jxb:class設置,但無法讓它工作。 我的最終結果有兩個要求:
- 的ExistingType類是從架構
- 的根節點類有現有類型的元素,它映射到現有的Java類產生不
感謝布萊斯。它看起來像ref屬性添加了2.1 jxb模式,並且我的IDE使用了一個較舊的...因此我沒有看到該選項!現在一切都很好。 –