2012-05-03 54 views
0

目前我已經從大量模式文件(.xsd)創建Java類。生成的類正在工作(通過jaxb2-maven-plugin生成)。但是現在我嘗試從一個對象結構中生成一個XML。第一件事是我不完全理解爲什麼我需要提供在創建JAXB上下文期間可用的所有命名空間?生成的XML - 名稱空間前綴

String[] context = { "Namespace1", "Namespace2", ...}; 

JAXBContext jc = JAXBContext.newInstance(Joiner.on(":").join(context)); 

通過編組我可以生成一個XML文件,但這個問題我有如下:

<StartTag xmlns="Basenamespace" xmlns:ns1="Namespace1" xmlns:ns2="Namespace2" ...> 
    <...> 
    <ns1:T1>...</ns1:T1> 
    <ns2:TX>...</ns2:TX> 
    ... 
</StartTag> 

我想已經產生了這樣的事情:

<StartTag xmlns="Basenamespace"> 
    <...> 
    <T1 xmlns="Namespace1"> 
    ... 
    </T1> 

    <TX xmlns="Namespace2"> 
     ... 
    </TX> 
    ... 
</StartTag> 

所以問題是:通過JAXB中的屬性可以實現嗎? 此外,是否有可能影響在哪個標籤處創建或不創建元素?

回答