Dear Meredith,
for $rcrd in collection( 'Squibble' )//record where $rcrd/*[1] = <contentChannel><String>email</String></contentChannel> return $rcrd
In your query, the XML snippets <contentChannel>... is "atomized" (i.e., converted to a string), before it is compared to the atomized result of the first argument. If you want to the equality of your XML fragment, you might want to try the deep-equals() function. A query could look sth like this:
let $xml := <contentChannel><String>email</String></contentChannel> for $rcrd in collection( 'Squibble' )//record where deep-equals($rcrd/*[1], $xml) return $rcrd
Hope this helps, Christian