2

看起来这应该是相当明显的,但我找不到任何关于如何简单地(取消)编组 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>

感觉我应该能够做这样的事情(我正在使用 Scala 的 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)。

4

1 回答 1

1

我想你想要@XmlValue

请参阅此处了解更多信息。

于 2012-01-05T08:41:25.440 回答