0

デフォルトでは、jaxb 2は、マーシャリング中にルート要素内のすべての(必要なすべての)名前空間を一覧表示します。

<rootElement xmlns="default_ns" xmlns:ns1="ns1" xmlns:ns2="ns2"> <ns1:element/> </rootElement>

ルート要素の代わりに各要素の名前空間を記述する方法はありますか?:

<rootElement xmlns="default_ns"> <element xmlns="ns1"/> </rootElement>

また、私の場合も重要な「不要な名前空間」の問題も解決します。任意の提案をいただければ幸いです。

4

2 に答える 2

0

答えは否定的です。JAXB はそのような低レベルのカスタマイズをサポートしていません。整列化された XML の後処理に XSLT を使用することを検討してください。

于 2010-03-29T02:55:27.910 に答える
0

また、私は@Antonが他のスレッドで提供した応答に同意する傾向があります。私は本当に関係ないはずです。いずれかの方法を強制する必要がある場合は、常に最上位のコンテキストを優先する必要があります。特に、要素が繰り返される可能性がある場合はそうです。兄弟要素で名前空間宣言を繰り返すことは、スペースの浪費であるだけでなく、受信側のパーサーにとって最適ではありません。

于 2012-05-04T01:13:39.790 に答える