1

JAXB オブジェクト モデルのインスタンスに、インスタンスの Xml を生成するときに出力したい要素が含まれていますが、json を生成したときは必要ありません。

つまり欲しい

<release-group>
<type>Album</type>
<title>Fred</title>
</release-group>

"release-group" : {
         "title" : "fred",
       },

しかし持っている

"release-group" : {
         "type" : "Album",
         "title" : "fred"
      },         

oxml.xml マッピング ファイルを使用してこれを実行できますか

この回答は、transient キーワードを使用して属性に対してそれを実行する方法を示しています。Can I get MOXy to not output an attribute when generated json? しかし、それを要素に対して機能させることはできません。

4

1 に答える 1

1

申し訳ありませんが、問題は解決しました。私の側では少し混乱しています。

上記の例は実際の状況と正確に一致しませんでした.typeは実際にはXmlの属性として出力されましたが、一時的な使用はJAXBで名前が変更されたため機能しませんでした

@XmlAttribute(name = "target-type", required = true)
@XmlSchemaType(name = "anyURI")
protected String targetType;

だから追加

 <java-type name="ReleaseGroup">
            <java-attributes>
                <xml-transient java-attribute="targetType"/>
            </java-attributes>
        </java-type>

以前は間違っていました

 <java-type name="ReleaseGroup">
            <java-attributes>
                <xml-transient java-attribute="target-type"/>
            </java-attributes>
        </java-type>
于 2012-09-09T09:51:17.807 に答える