2011-12-08 40 views
2

我有一個類,如下列:JAXB,設置命名空間的所有子元素

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

這將導致以下XML:

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

ClassB及其所有屬性類都在一個不是由我寫的單獨的庫中。我如何強制這些子類使用我給ClassB的命名空間?就像這樣:

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

回答

2

也許把XmlSchema標記信息包B級

+0

但是'ClassB'是在外部庫?或者你是否建議創建一個具有相同名稱的虛擬包,並將XmlSchema註釋放在其上? – Dario

+0

我不能建議,因爲我自己沒有嘗試過。但是,我認爲這可以提供幫助。 – korifey

+1

+1 - 有關JAXB和名稱空間的更多信息,請參閱:http://blog.bdoughan.com/2010/08/jaxb-namespaces.html –

相關問題