Mark,
you can replace any 'reserved' XML characters (like <,> and ?) with their HTML escaped equivalent (which is in the form of '&' symbolic-character name followed by a semicolon ';'.) as follows:

< should be output as &lt;
> should be output as &gt;
and of course, you need to escape the escape character (&), and this
is done as follows:
& should be output as &amp;

I am not sure what '?' should be escaped as, but perhaps someone else can advise us,
for now escape the ? as a + symbol and be done with it.

the others should be escaped as indicated above.