私は編集したベースクラスを持っているので、jaxbアノテーションを追加することはできません。 派生クラスでは、基本クラスの属性の一部をシリアル化する必要があります。 これを行うにはどうすればよいですか?jaxbアノテーションを持たないシリアライズベースクラス
1
A
答えて
0
注:私はEclipseLink JAXB (MOXy)リードとJAXB 2 (JSR-222)専門家グループのメンバーです。
クラスに変更を加えて注釈を付けることができない場合は、EclipseLink JAXB(MOXy)の外部マッピングドキュメント拡張機能に興味があります。
oxm.xml以下
は、私は私のブログ(JSON Binding with EclipseLink MOXy - Twitter Example)上の例の一つに指定されているメタデータの外部マッピング・ドキュメントと同等です。
<?xml version="1.0"?>
<xml-bindings
xmlns="http://www.eclipse.org/eclipselink/xsds/persistence/oxm"
package-name="blog.json.twitter">
<java-types>
<java-type name="SearchResults" xml-accessor-type="FIELD">
<java-attributes>
<xml-element java-attribute="completedIn" name="completed_in"/>
</java-attributes>
</java-type>
<java-type name="Result" xml-accessor-type="FIELD">
<java-attributes>
<xml-element java-attribute="createdAt" name="created_at">
<xml-java-type-adapter value="blog.json.twitter.DateAdapter"/>
</xml-element>
<xml-element java-attribute="fromUser" name="from_user"/>
</java-attributes>
</java-type>
</java-types>
</xml-bindings>
デモ
ようになり、外部マッピング・ドキュメントでたJAXBContextをブートストラップするためのコード:詳細情報
Map<String, Object> properties = new HashMap<String, Object>(1);
properties.put(JAXBContextFactory.ECLIPSELINK_OXM_XML_KEY, "blog/json/twitter/oxm.xml");
JAXBContext jc = JAXBContext.newInstance(new Class[] {SearchResults.class}, properties);
0
これは私のために働きました。ここでは、MyClassにはJAXB注釈が注釈されていません。 MyClassは典型的なJava Beanクラスです。
try {
JAXBContext jc = JAXBContext.newInstance(MyClass.class);
MyClass cl = new MyClass();
Marshaller m = jc.createMarshaller();
m.setProperty(Marshaller.JAXB_FORMATTED_OUTPUT, Boolean.TRUE);
m.marshal(new JAXBElement<MyClass>(new QName("","MyClass"), MyClass.class, cl), System.out);
} catch (JAXBException ex) {
Logger.getLogger(Main.class.getName()).log(Level.SEVERE, null, ex);
}
関連する問題
- 1. XmlRootElementアノテーションなしのJAXBアンマーシャリング?
- 2. JAXBでは、@ XmlJavaTypeAdaptersアノテーションの使い方は?
- 3. JAXB unmarshalアノテーションを使用しないブール値
- 4. JAXBアノテーションを使用したJackson JSONライブラリの使用
- 5. は私がどんな要素を持つJAXBクラスを持つJAXBクラス
- 6. JacksonがObject Mapperを追加した後でもJAXBアノテーションを検出できない
- 7. XMLをJAXBアノテーション付きクラスに変換する
- 8. JAXB @XMLElementsアノテーションの要素 "name"を変更します
- 9. ジャクソンJaxbアノテーションの優先順位 - @XmlTransientをオーバーライドする@JsonProperty
- 10. jaxbアノテーションをsimpleXmlライブラリに移植する方法は?
- 11. Glassfish 5はJAXB @XmlJavaTypeAdapterアノテーションを無視しますか?
- 12. JAXB生成クラスに@Generatedアノテーションを追加する
- 13. リセットサービスは、@ XmlRootElementを持たないjaxbオブジェクトをマーシャリングできません。
- 14. Jaxbは、ルート要素を持たない子要素をマーシャリングできますか?
- 15. JAXB親クラスからの再利用アノテーションとアクセスプリセットフィールド
- 16. JAXBアノテーション付きSpring 3.1.2の登録者マッピングJackson2HttpMessageConverter
- 17. JAXB、私は次のようなクラスを持っている
- 18. java.util.concurrent.locks.ReadWriteLockを持つ@GuardedByアノテーション
- 19. JAXBを使用してXSDから空の@XmlTypeアノテーションを生成しないようにします。
- 20. タイムゾーンのないJaxb DateTime
- 21. JAXB:私は次のコードを持っている余分な不要なタグ
- 22. 可変数の@XMLElementsを持つJAXB
- 23. JAXBで属性を持つ要素
- 24. 未知の@XmlRootElementを持つJaxb Unmarshall
- 25. JAXBなしオプションコレクション
- 26. アノテーションのないジャージ検証
- 27. スプリングでアノテーションされたメンバーを持つジャーナルエンドポイントをテストする@Value
- 28. jaxbアノテーションを使用してアンマーシャリングされたオブジェクトをナビゲートすることはできますか?
- 29. HibernateとHibernateアノテーションを持つSpring = "Unknown Entity ..."
- 30. Hibernateのスーパークラスの@OneToOneアノテーションを持つフィールド