2
これはかなり明白なはずですが、JAXBを使って属性を持つXML要素を単純に(un)マーシャリングする方法については何も見つかりません。言い換えれば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
定義:id
はサブ要素であってはならないので、明らかに
@XmlAccessorType(XmlAccessType.FIELD)
class XLink {
@XmlAttribute
@BeanProperty
var href: String = _
@Xml???
@BeanProperty // ID is the container
var id: Long = _
}
しかし、これは動作しませんが - それは単に親ノードの値です。
これはよくあるケースです。私は何が欠けていますか?完全性のために、私はScalaのJAXB(MOXy)を使用しています。
大きな感謝ジェームズ - これは素晴らしい作品です。テストに遅れて申し訳ありません! –