The command doesn't really "fail" per se. It's just that the tool you're using recognizes "&" characters and treats subsequent identifiers as replacement variables.
What tool are you using ?
For example, in SQL*Plus you can disable this behaviour via the SET SCAN OFF or SET DEFINE OFF command.
As usually , answer very fast and excellent. The requests to add nodes in the existing XML field work well.