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