1

だから私はこのアプリケーションに取り組んでおり、xmlを解析するためにこのクラスを書いています。xml ファイルを表すクラスを作成しました。いくつかのものをマップし、後でそのマップを使用してパーサーの機能を拡張したいと考えています。例を次に示します。

すべてのファイルに DATE があることを知っています。解析している XML ファイルの現在のバージョンでは<date>dateValue</date>、汎用文字列 "DATE" を "date" にマップして、単純にデータ構造 (マップ) を参照できるようにします。キー値 (この場合は「DATE」) で値 (「日付」) を取得します。やりたいことがそれだけなら、ハッシュマップを使用するだけです。ただし、もっと複雑なものを追加しました。xml から引き出すデータを表すクラスがあります。

public class myXML{
   String date;
   setDate(String input){
        this.date = input;
   }
}

したがって、値「DATE」、「date」、そして今ではsetDate(「value」)を使用して何か他のものを添付する方法も見つけたいと思います。まず、2 つの値を 1 つのキーにリンクする良い方法はありますか? 次に、関数にマップしてから使用する良い方法はありますか? そのような

function = map.getFunctionValue("DATE");
myXML.function(someValue);

これはすべてサンプルコードなので、コンストラクターの欠如や構文エラーについてコメントしないでください:)

お早めにどうぞ!

4

2 に答える 2

0

Xstreamを見てみてください。この関連する質問から入手してください

于 2012-10-30T10:52:42.303 に答える
0

Apache Commons には MultiMapがあります。残念ながら、標準ライブラリにはありません。

docsに基づいて、頻繁に必要とされないため、含まれていないようです。

マルチマップはマップに似ていますが、各キーを複数の値にマップできます。マルチマップはあまり一般的に使用されないため、Java Collections Framework にはマルチマップ用のインターフェースが含まれていません。値が List インスタンスである Map をマルチマップとして使用するのは、かなり単純なことです。

2 番目の質問については、残念ながら Java にはファースト クラスの関数が欠けているため、エレガントな方法はありません。カスタム インターフェイス、ラッパー クラス、リフレクション、バイトコード ハックの使用など、さまざまなアプローチが可能です。

于 2012-10-29T23:33:54.660 に答える