Pregunta bastante simple: tengo un atributo en el que me gustaría tener comillas dobles. ¿Cómo puedo escapar de ellas? He intentado¿Cómo escapo las comillas dobles en atributos en una cadena XML en T-SQL?
- \ "
- ""
- \\"
Y he hecho la variable @xml tanto de tipo xml y 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
Por cierto ... no hay ninguna razón (AFAIK) para usar openxml aquí ... eso es "pre-2005". Si tiene un valor xml, úselo como xml directamente. –
Marc - Gracias. Tenía otro error que terminaba siendo openxml estaba reventado con apóstrofes rizados: 'Creo que voy a publicarlo como una pregunta/respuesta para que google encuentre. –