Pregunta bastante simple: tengo un atributo en el que me gustaría tener comillas dobles. ¿Cómo puedo escapar de ellas? He intentado
- \ "
- ""
- \\ "
Y he hecho la variable @xml tanto tipo xml como varchar (max) para todos ellos.
declare @xml xml --(or varchar(max) tried both)
set @xml = '<transaction><item value="hi "mom" lol"
ItemId="106" ItemType="2" instanceId="215923801" dataSetId="1" /></transaction>'
declare @xh int
exec sp_xml_preparedocument @xh OUTPUT, @xml
insert into @commits --I declare the table, just removed it for brevity
select
x.*
from openxml(@xh,'/transaction/item')
WITH (
dataItemId int,
dataItemType int,
instanceId int,
dataSetId int,
value varchar(max)
) x
Respuestas:
¿No sería eso
"
en xml? es decir** editar: ** probado; funciona bien:
fuente
tSql escapa a una comilla doble con otra comilla doble. Entonces, si quisieras que sea parte de tu literal de cadena sql, harías esto:
Si desea incluir una cita dentro de un valor en el propio xml, use una entidad, que se vería así:
fuente
No puedo comentar más, pero lo voté y quería que la gente supiera que
"
funciona muy bien para los archivos de configuración xml al formar expresiones regex para RegexTransformer en Solr de la siguiente manera:regex=".*img src="(.*)".*"
usando la versión escapada en lugar de comillas dobles.fuente
En Jelly.core para probar una cadena literal, se usaría:
Pero si tengo que verificar la cadena "Toy's R Us":
Sería así, si se permitieran las comillas dobles en el interior:
fuente