我有一个枚举,它存储大量这样的 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()
我的应用程序为这个字符串中表示的一些节点获取用户输入,该字符串存储为 a Map<String, String>
,其中key
是map
XMLelement
文档的,value
而value
.
String
本质上,我想从枚举中复制 XML 并替换地图中找到的任何相应元素,然后通过某个第三方不相关的接口将此消息作为结束发送。例如,用户可以传入MESSAGE-ID=3
,USER-ID=360
所以我们会找到MESSAGE-ID
字符串的元素并替换它,然后USER-ID
在某个未知的通用位置找到并替换它。如果USER-ID
在 XML 中未找到,则将其简单地丢弃。
编辑: 如果有更好的方法来做到这一点,即将 XML 转换为某种数据结构并修改它然后转换回字符串,我很高兴听到它,但是我在我的搜索。
谢谢你的帮助