Brilliant! Большое спасибо за вашу помощь:)
Это решает мою проблему намного чище и проще. В итоге все выглядело так:
def rtv = { xmlSource, tagName, newValue ->
regex = "<$tagName>[^<]*</$tagName>"
replacement = "<$tagName>${newValue}</$tagName>"
xmlSource = xmlSource.replaceAll(regex, replacement)
return xmlSource
}
input = rtv( input, "Mobiltlf", "32165487" )
input = rtv( input, "E-mail-adresse", "bob@email.com" )
println input
Поскольку я передаю это нашим тестерам для использования в их инструменте тестирования SoapUI, я попытался "обернуть" его, чтобы им было легче копировать и вставлять.
Это достаточно хорошо для моей цели, но было бы идеально, если бы мы могли добавить еще один "поворот"
Допустим, входные данные содержали это ...
<Mobiltlf type="national" anotherattribute="value"></Mobiltlf>
... и мы хотели сохранить эти два атрибута, хотя мы заменили значение. Есть ли способ использовать регулярные выражения для этого тоже?