このような多数のxml文字列を格納する列挙型があります
enum1("<?xml version='1.0'?><!DOCTYPE FOO><FOO><HEADER><MESSAGE-ID>1</MESSAGE-ID><MESSAGE-TYPE>RQ</MESSAGE-TYPE></HEADER>[...someXMLstructure...]</FOO>")
enum2("<?xml version='1.0'?><!DOCTYPE FOO><FOO><HEADER><MESSAGE-ID>1</MESSAGE-ID><MESSAGE-TYPE>Q</MESSAGE-TYPE></HEADER>[...someOTHERXMLstructure...]</FOO>")
文字列は経由でアクセスされますmyEnum.getTag()
私のアプリケーションは、この文字列で表されるいくつかのノードに対してユーザー入力を受け取ります。は XML ドキュメントの でありMap<String, String>
、はです。key
map
element
value
value
基本的に、列挙型から XML をコピーし、マップで見つかった対応する要素を置き換えてから、このメッセージをString
第三者の無関係なインターフェイスを介して送信したいと考えています。たとえば、ユーザーが渡すことができるので、文字列の要素を見つけてMESSAGE-ID=3
それを置き換え、次に未知の一般的な場所を見つけてそれを置き換えます。XML で見つからない場合は、単純に破棄されます。USER-ID=360
MESSAGE-ID
USER-ID
USER-ID
編集: これを行うためのより良い方法がある場合、つまり XML を何らかのデータ構造に変換し、これを変更してから文字列に戻すという方法があります。検索します。
ご協力いただきありがとうございます