-6

我知道我不应该使用 Regex 来更新 xml。但根据要求,我必须找到基于正则表达式的元素并替换它的值。
我正在调度程序 servlet 中记录所有 HTTP 请求并将其保存到文件中。在重播时,我可能需要更新其中一个 xml。
我不想将该特定的 xml 转换为Document、解析和更新它,然后将其转换回 String。这就是为什么我想以字符串格式编辑 xml。

元素名称及其新值将是我的输入。所以

public void findAndReplace(String xml, String elementName, String newValue)
{
 String regex = '/<'+elementName+'></'+elementName+'>';
 String updatedElement = '/<'+elementName+'>'+newValue+'</'+elementName+'>'

 String updatedXML = xml.replaceFirst(regex, updatedElement);
}
4

1 回答 1

1

您不必Document为了更改 XML 文档而创建一个。您可以很容易地设置流式 XML 解析器以有效地执行此操作。看看javax.xml.stream包装。

于 2013-04-18T13:51:30.733 回答