2011-12-08 24 views
2

すべての子要素に名前空間を設定する:JAXB、私は次のようなクラスを持っている

<ns2:a> 
    <ns2:b> 
     <c/> 
    </ns2:b> 
</ns2:a> 

ClassBをし、その属性のすべてのクラスは、以下のとおりです。

@XmlRootElement(name = "a") 
public class ClassA { 
    @XmlElement(name = "b", namespace = "http://mynamespace.com") 
    private ClassB; 
} 

これは、次のXMLにつながります私によって書かれていない別の図書館にあります。これらの子クラスが私がClassBに与えた名前空間を使用するようにするにはどうすればいいですか?

<ns2:a> 
    <ns2:b> 
     <ns2:c/> 
    </ns2:b> 
</ns2:a> 

答えて

2

たぶん、クラスB

+0

でパッケージにXmlSchema注釈を入れる。しかし 'ClassB'が外部ライブラリである:?このようなまたは、同じ名前のダミーパッケージを作成し、その上にXmlSchemaアノテーションを挿入することをお勧めしますか? – Dario

+0

私は示唆することはできません、beacuseはそれを自分で試していない。しかし、はい、私はこれが助けることができると思います。 – korifey

+1

+1 - JAXBと名前空間の詳細については、http://blog.bdoughan.com/2010/08/jaxb-namespaces.htmlを参照してください。 –

関連する問題