2
看來這應該是相當明顯的,但我找不到任何關於如何簡單地(un)編組也具有使用JAXB的屬性的XML元素。如何在JAXB中解析/編組屬性元素?
換句話說,我知道如何使用JAXB標註一起工作:
<element>foo</element>
而且我知道如何使用JAXB有:
<element attribute1="bar" attribute2="foo" />
但我無法弄清楚如何以類似的方式:
<id_address href="/addresses/18">18></id_address_delivery>
<id_cart href="/carts/111">111</id_cart>
<id_currency href="/currencies/13">13></id_currency>
感覺就像我應該能夠做這樣的事情(我使用JAXB從斯卡拉):
@XmlElement
@BeanProperty
var idAddress: XLink = _
@XmlElement
@BeanProperty
var idCart: XLink = _
@XmlElement
@BeanProperty
var idCurrency: XLink = _
,然後定義XLink
爲:
@XmlAccessorType(XmlAccessType.FIELD)
class XLink {
@XmlAttribute
@BeanProperty
var href: String = _
@Xml???
@BeanProperty // ID is the container
var id: Long = _
}
但顯然這是不行的,因爲id
不應該是一個子元素 - 它只是父節點的值。
這是一個很常見的用例:我錯過了什麼?爲了完整起見,我使用了Scala的JAXB(MOXy)。
非常感謝詹姆斯 - 這個作品很棒。對不起,在測試它的延遲! – 2012-01-13 21:21:23