2011-12-27 2 views
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> 

내가 이런 식으로 할 수 있어야한다고 느낍니다. 스칼라) :

@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)를 사용하고 있습니다.

답변

1

나는 당신이 원하는 것 같아 @XmlValue.

자세한 내용은 here을 참조하십시오.

+0

큰 감사 제임스 -이 작품은 훌륭합니다. 테스트에 늦어서 죄송합니다! –

관련 문제