Pergunta bastante simples - tenho um atributo no qual gostaria de colocar aspas duplas. Como faço para escapar delas? eu tentei
- \ "
- ""
- \\ "
E eu criei a variável @xml para o tipo xml e varchar (max) para todos eles.
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
Respostas:
Isso não seria
"
em xml? ie** editar: ** testado; funciona bem:
fonte
O tSql escapa uma aspas duplas com outra aspas duplas. Portanto, se você quiser que ele faça parte de sua literal de string sql, faça o seguinte:
Se você deseja incluir uma cotação dentro de um valor no próprio xml, use uma entidade com a seguinte aparência:
fonte
Não posso mais comentar, mas votei e queria que as pessoas soubessem que
"
funciona muito bem para os arquivos de configuração xml ao formar expressões regex para RegexTransformer no Solr da seguinte forma:regex=".*img src="(.*)".*"
usando a versão escapada em vez de aspas duplas.fonte
No Jelly.core para testar uma string literal, usaria-se:
Mas se eu tiver que verificar a string "Toy's R Us":
Seria assim, se as aspas duplas fossem permitidas dentro:
fonte