2

Maven 3、jaxb2、FIXML スキーマ、および maven-jaxb2-plugin を使用するスタンドアロンの Java アプリ用に、JAXB2 を使用して XML を生成します。XML をマーシャリングすると、出力ルート要素に xmlns 属性が含まれます。これを削除するにはどうすればよいですか?

から:

<root ... xmlns="http://www.fixprotocol.org/FIXML-4-4">...</root>

に:

<root ... >...</root>

編集:

パッケージ情報.java

@javax.xml.bind.annotation.XmlSchema(namespace = "http://www.fixprotocol.org/FIXML-4-4", elementFormDefault = javax.xml.bind.annotation.XmlNsForm.QUALIFIED)
package com.package;
4

3 に答える 3

1

したがって、名前空間情報を含めたくない場合は、@XmlSchemaから注釈を削除するだけで済みますpackage-info.java

これはMavenプラグインから自動生成されると言ったように、自動ビルドを多少壊します。

プラグイン オプションを調べて、出力からこれを削除できるかどうかを確認することをお勧めします。または、追加のプラグインを使用してこの行を削除するか、package-info.java をすべてまとめて削除する必要があります。

質問 - 名前空間情報が含まれていることを期待するサービスに、この XML を渡すつもりですか? 名前空間情報を削除したい理由に興味があると思います。

于 2012-03-22T20:42:45.370 に答える
0

この問題は、生成された jaxb2 コードから名前空間「http://www.fixprotocol.org/FIXML-4-4」へのすべての参照を削除することで、今のところ解決されています。これは粗雑です。より自動化された方法を望んでいました。

于 2012-03-23T14:09:01.137 に答える