2

これはかなり明白なはずですが、JAXBを使用して属性も持つXML要素を単純に(非)マーシャリングする方法については何も見つかりません。

言い換えれば、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 に答える