6

次のような単純な Java クラスがあります。

public class Skin implements Serializable {

    public String scoreFontName = "TahomaBold";
    ...
    public int scoreFontHeight = 20;
    ...
    public int blockSize = 16;
            ...

    public int[] nextBlockX = {205, 205, 205, 205};
            ...
    public String backgroundFile = "back.bmp";
            ... 
}



次のような単純な XML ファイルからこの情報を読み取りたいと思います。

<xml>
    <skin>
        <scoreFontName>"Tahoma Bold"</scoreFontName>
        ...
        <scoreFontHeight>20</scoreFontHeight>
        ...
        <blockSize>16</blockSize>
        ...
        <nextBlockX>
             <0>205</0>
             <1>205</1>
             <2>205</2>
             <3>205</3>
        <nextBlockX>
        ....
        <backgroundFile>"back.bmp"</backgroundFile>
        ...
     <skin>
 </xml>

手動で解析するのではなく、xml ファイルからの情報を変数名に直接挿入する簡単な方法はありますか? 外部ライブラリを使用してもかまいません。

どんな助けでも大歓迎です。

4

6 に答える 6

10

XStream はまさにこのための優れたライブラリです。

http://x-stream.github.io/

XML ファイルを読みやすくするために、クラスやカスタム データ形式のエイリアスを設定できます。

于 2009-02-01T18:41:30.503 に答える
5

前述のソリューション ( XStreamおよび Apache Commons Digester ) に代わるものは、同等の一般的なアプローチのための Java 独自のJAXB、または Apache Commons Configurationや Java のPreferences APIなどの構成に合わせて調整されたソリューションです。

于 2009-02-01T19:01:06.657 に答える
4

クラスが Bean である場合、XML の読み取りを処理するだけなので、実際には Apache Digester をお勧めします。

于 2009-02-01T18:48:03.360 に答える
2

また、Spring を使用することもできます。ただし、モバイル ゲームの場合、1 つのクラスに対しては少しやり過ぎかもしれません。

于 2009-02-01T21:37:39.260 に答える