Same way you escape characters most anywhere else in linuxy programs, with a backslash:
:%s/<dog\/>/<cat\\>
But note that you can select a different delimiter instead:
:%s@<doc/>@<cat\\>@
This saves you all typing all those time-consuming, confusing backslashes in patterns with a ton of slashes.
From the documentation:
Instead of the
/which surrounds the pattern and replacement string, you
can use any other single-byte character, but not an alphanumeric character,
\,"or|. This is useful if you want to include a/in the search
pattern or replacement string.