Xストリーム

XStreamライブラリ
開発者コードハウス
初回リリース2004年1月1日; 21年前 (2004-01-01)
安定版リリース
1.4.20 / 2022年12月24日; 2年前 (2022-12-24)
書かれたジャワ
オペレーティング·システムクロスプラットフォーム
ライセンスBSDスタイルのライセンス
Webサイトx-stream.github.io

XStreamは、オブジェクトをXML (またはJSON )にシリアル化し、またその逆を行うJavaライブラリです。

注意: Meta の XStream ストリーム処理プラットフォームと混同しないでください。

XStreamライブラリ

XStreamはリフレクションを用いてオブジェクトグラフの構造を検出し、実行時にシリアル化します。オブジェクトに変更を加える必要はありません。privateやfinalを含む内部フィールドをシリアル化でき、非publicクラスや内部クラスもサポートしています。[1]

オブジェクトグラフのシリアル化

オブジェクトをシリアル化する場合、オブジェクトグラフ全体がシリアル化されます。オブジェクトモデル内で重複した参照が検出されても、それらは保持されます。例えば、次のクラスCDを使用すると、

パッケージcom.thoughtworks.xstream ;パブリッククラスCd {プライベートString id ;      プライベートCDボーナスCD ;  Cd (文字列id , CdボーナスCd ) { this . id = id ;これボーナスCd =ボーナスCd ; }        Cd (文字列id ) { this . id = id ; }    パブリック文字列getId () {戻り値 id ; }    パブリックCd getBonusCd () {ボーナスCdを返します; } }    

これらのオブジェクトのいくつかをリストに追加します

Cd bj = new Cd ( "basement_jaxx_singles" ); Cd mr = new Cd ( "maria rita" ); List < Cd > order = new ArrayList <> (); order . add ( mr ); // 同じ cd を 2 回追加します (同じオブジェクトへの 2 つの参照) order . add ( bj ); order . add ( bj );            // 自身を追加します (循環) order . add ( order );XStream xstream = new XStream ( ) ; xstream.alias ( " cd " Cd.class ) ; System.out.println ( xstream.toXML ( order ) ) ;     

上記のコードを XStream のデフォルトの相対参照モードで実行すると、次の XML が生成されます。

<list> <cd> <id>マリア・リタ</id> </cd> <cd> <id> basement_jaxx_singles </id> </cd> <cd reference= "../cd[2]" /> <list reference= ".." /> </list>           

XStream は、寛容な改訂版 BSD スタイル ライセンスに基づいて配布されるフリー ソフトウェアです。

使用法

参考文献

  1. ^ 「XStreamを使用してJavaオブジェクトをXMLにシリアル化する」IBM.com。2009年2月19日時点のオリジナルよりアーカイブ2009年12月14日閲覧。
  2. ^ 「XStream - リファレンス」Xstream.codehaus.org . 2009年12月14日閲覧
  • 図書館ホームページ


Retrieved from "https://en.wikipedia.org/w/index.php?title=XStream&oldid=1313978472"