0
我總得有一個棘手的情況在這裏。一方面,我需要與這個xsd方案同步,另一方面,從這個xsd生成的類在某種程度上是無用的。JAXB映射覆雜類型爲String
<xs:schema>
...
<xs:complexType name="Text">
<xs:simpleContent>
<xs:extension base="xs:string"/>
</xs:simpleContent>
</xs:complexType>
</xs:schema>
我從上面的xsd生成的類是這樣的。
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "Text", propOrder = { "value" })
public class Text {
@XmlValue
protected String value;
.. getter .. setter
}
該類只有一個字符串屬性,並且將它替換爲String類型而不是Class是有意義的。
問:我怎樣才能跳過文本類,並使用字符串代替,但保留現有的XSD。的
因此,而不是寫這個:
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "Description", propOrder = { "content" })
public class Description{
@XmlElement(name = "Content")
protected Text content;
我想寫的東西是這樣的:
@XmlElement(name = "Content")
@MagicHere_ThisTypeMappToText
protected String content;
是否有JAXB的註釋,讓我來包裝文本類,但保留了對xsd有效嗎?
我不得不承認,我不是很滿意XMLAdapters的解決方案,但多數民衆贊成去與JAXB的方式 – Vadimo