2017-03-10 4 views
0

私はこのようなことを完全に自動的にmavenで行いたいです。 私はいくつかのデータを持つ.xmlファイルを持っています。このXML内のあるオブジェクトから別のオブジェクトへのIDによる参照がいくつかあります。私はこの.xmlの.xsdを持っていません。Java:xmlとシングルトン(Mavenとjaxbを使用)

私はちょうど2つのものが必要です: 1)このxmlをJavaクラスにコンパイルしてください。 2)この.xml名で名前が付けられ、内部の.xml構造体に関連するすべての.xmlデータを含むシングルトンクラスを1つ作成する。例えば

は、私の.xmlファイルは、次のようになります。

<?xml version="1.0" encoding="UTF-8"?> 
<MyBigSinletonWithAllData> 
    <Cars> 
     <Car id="1" speed = "5"/> 
     <Car id="2" speed = "3"/>  
    </Cars> 
</MyBigSinletonWithAllData> 

そして、私は自動出力として、このようsomehtingを取得したい:だから

class MyBigSinletonWithAllData { 
    List<Cars> cars; 
} 

class Car { 
    double speed; 
} 

class MyBigSinletonWithAllDataSingleton { 

    MyBigSinletonWithAllData INSTANCE = new MyBigSinletonWithAllData(); 
    /* And here we read an INSTANCE from our .xml file */ 
} 

、私の質問はこれを行う方法でありますMavenによって完全に自動的に? 私はちょうどそれはすでに私のために生成取得したいので、私はこのようなコード行記述するだけで済み、手動で「MyBigSinletonWithAllDataSingleton」をコーディングする必要はありません。すべてのデータへのフルアクセスを得るために

MyBigSinletonWithAllDataSingleton.INSTANCE 

を相対.xmlファイルで書かれたものです。

今のところ、 "maven-jaxb2-plugin"を使用して.xsdからJavaクラスを生成します。しかし、.xmlから.xsdを実行するツールと、シングルトンに対して自動的に読み書き操作を作成するツールも必要です。

答えて

0

Java SOAPベースのWebサービスでは、apache軸とapche cxfのような異なる実装があります。その実装では、ツールを実行するか、XMLファイルをそのツールに渡すだけで対応するバインディングクラスが生成されます。

あなたに役立つようにコードを調べてください。 またはいくつかの異なるツールがあるかもしれませんが(Googleそれも)そこになります。

はい、xmlをxsdファイルに変換できます。 uはそれを見つけるか

Conver XML to XSD

+0

リンクを介して行きます? –

関連する問題