#!/bin/bash
s =' some text
<addresses>
<something/>
</addresses>
some more text
<addresses xmlns="namespace">
<could be anything/>
</addresses>
some other text
<addresses>
<something else/>
</addresses>
...'
ad ='addresses'
nm ='namespace'
perl -0777 -pe 's~<(' "$ad " ')\s+xmlns="(' "$nm " ')">[^<]*(?:<(?!/\1>)[^<]*)*\K</\1>~</$2:$1>~' <<< "$s "
IyEvYmluL2Jhc2gKcz0nICAgIHNvbWUgdGV4dAogICAgPGFkZHJlc3Nlcz4KICAgICAgPHNvbWV0aGluZy8+CiAgICA8L2FkZHJlc3Nlcz4KICAgIHNvbWUgbW9yZSB0ZXh0CiAgICA8YWRkcmVzc2VzIHhtbG5zPSJuYW1lc3BhY2UiPgogICAgICA8Y291bGQgYmUgYW55dGhpbmcvPgogICAgPC9hZGRyZXNzZXM+CiAgICBzb21lIG90aGVyIHRleHQKICAgIDxhZGRyZXNzZXM+CiAgICAgIDxzb21ldGhpbmcgZWxzZS8+CiAgICA8L2FkZHJlc3Nlcz4KICAgIC4uLicKYWQ9J2FkZHJlc3NlcycKbm09J25hbWVzcGFjZScKcGVybCAtMDc3NyAtcGUgJ3N+PCgnIiRhZCInKVxzK3htbG5zPSIoJyIkbm0iJykiPltePF0qKD86PCg/IS9cMT4pW148XSopKlxLPC9cMT5+PC8kMjokMT5+JyA8PDwgIiRzIg==