0

現在、多数のスキーマ ファイル (.xsd) から Java クラスを作成しています。結果のクラスは機能しています (jaxb2-maven-plugin によって生成されます)。しかし今、オブジェクト構造から XML を生成しようとしています。最初のことは、JAXB コンテキストの作成中に使用可能なすべての名前空間を指定する必要がある理由を完全に理解していないことです。

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 のプロパティを介して達成可能ですか? さらに、どのタグでxmlns要素が作成されるかどうかに影響を与えることは可能ですか?

4

1 に答える 1

0

私はその問題について運がないようです。私は以下を見つけました:

マーシャリング中のルート要素ではなく、各要素の jaxb 名前空間

于 2012-05-03T14:39:30.227 に答える