sql >> Base de Datos >  >> RDS >> Sqlserver

La búsqueda de 0x0B

¡Finalmente lo encontré!

El serializador .NET XML escapaba del carácter no válido cuando lo serializaba, pero luego lo deshacía antes deserialización.

Así que tuve que buscar al escapado para encontrar el 0x0B sin escape... ¡en serio, no es divertido, chicos!

Así que esto:

  SELECT * from Mytable where Column like '%' + '&#xB' + '%'

En realidad encontrará esto:

<?xml version="1.0"?>
      <Hashtable><key>313_other_10</key><value>&#xB</value></Hashtable>

Y aunque parece un XML válido, arrojará una excepción de carácter no válido cuando:

    XmlSerializer xs = new XmlSerializer(Type.GetType(Hashtable));
    StringReader stringReader = new StringReader(xml);
    obj = xs.Deserialize(stringReader);

¡Muchas gracias a las personas que saltaron para ayudar! ¡Fue una ayuda invaluable!