A CDATA is coded like this.

<![CDATA[<b>Your Code Goes Here</b>]]>

The CDATA Tag starts with

    <![CDATA[

and ends with

    ]]>

Your code goes in between.

NOTE that you cannot nest cdata blocks.  the first ]]> terminates the block

A comment is coded like this:

<!--  My comment goes here.
        and it can span multiple lines -->

The comment starts with

    <!--

and ends with

    -->

NOTE that you cannot nest comments AND you cannot use a double dash -- within the span of the comment

A processing instruction is coded like this:

<?ignore
    ....
    what ever I want here, including <!-- comments -->
    ...
?>

A processing instruction is not part of the XML stream, but rather is a special directive to the parser that is processing the XML.  By definition, an XML parser ignores any processing instruction that it does not understand.

Therefore, you can use a bogus processing instruction to wrap blocks of XML that you wish to ignore, even if those blocks include embedded comments.

NOTE that you cannot nest processing instructions.  the first ?> terminates the block