を使用して文字列からキーと値のペアを抽出します。Javaの - したがって、このようなマップに取ることができますorg.apache.commons.lang3.textでStrSubstitutorと呼ばれるこのクラスがあるテンプレート
Map<String, String> params = new HashMap<String, String>();
params.put("name","Vivek");
params.put("id","900");
params.put("somethingelse","blah");
とこのようなテンプレート文字列:
<data>
<id>${id}</id>
<name>${name}</name>
<something>${somethingelse}</something>
</data>
このような出力文字列を生成するために:私が欲しいもの
<data>
<id>900</id>
<name>Vivek</name>
<something>blah</something>
</data>
は反対です。私は出力文字列とテンプレートをキーとしてテンプレート変数と値として文字列内の対応する値をマップに取り込むことができる方法はありますか?
PS - 私が使用する文字列は必ずしもXMLである必要はありません。これは一例です。
EDIT:変数名とタグ名が同じであるため、一部は混乱していると思います。タグは単なる例示であり、問題とは無関係です。私が心配している$ {}の中の変数です。私が意味することを示すために別のタグを追加しました。
可能なタグのリスト( "id"、 "name"など)を知っていますか、または未知のタグの解決策が必要ですか? – c0der
@ c0derタグは無関係です。あなたが変数を意味するなら - はい、それが未知の方が良いでしょう。基本的には、$ {}で囲まれたものを解析したいと思います –
一般的で効率的なソリューションが必要な場合は、この構造を解析する必要があります。このような単純な例は、手書きパーサーで解析することができます。この例がより大きな仕様の一部である場合は、パーサジェネレータを検討する方が良いでしょう。 – CoronA