如何在java中修改xml字符串

时间:2013-04-08 16:29:54

标签: java 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()

访问字符串

我的应用程序将此字符串中表示的某些节点的用户输入存储为Map<String, String>key的{​​{1}}为XML文档的mapelementvalue

基本上我想从枚举中复制XML并替换地图中找到的任何相应元素,然后通过某个第三方无关接口将此消息作为value发送。例如,用户可以传入StringMESSAGE-ID=3,这样我们就会找到字符串的USER-ID=360元素并替换它,然后在某个未知的通用位置找到MESSAGE-ID并替换那。如果在XML中找不到USER-ID,那么它就会被丢弃。

修改 如果有更好的方法来做到这一点,即将XML转换为某种数据结构并修改它然后转换回字符串,我很乐意听到它,但是我在搜索中一般都没有找到这么多。

感谢您的帮助

0 个答案:

没有答案