Довольно простой вопрос - у меня есть атрибут, в котором я хотел бы иметь двойные кавычки. Как мне избежать их? я пробовал
- \»
- «»
- \\»
И я сделал переменную @xml как xml type, так и varchar (max) для всех них.
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
Ответы:
Разве это не будет
"
в XML? т.е.** редактировать: ** проверено; работает отлично:
источник
tSql избегает двойной кавычки с другой двойной кавычкой. Поэтому, если вы хотите, чтобы он был частью строкового литерала sql, вы бы сделали это:
Если вы хотите включить кавычку в значение в самом xml, вы используете сущность, которая будет выглядеть следующим образом:
источник
Больше не могу комментировать, но проголосовал за это и хотел, чтобы люди знали, что это
"
очень хорошо работает для файлов конфигурации xml при формировании выражений регулярных выражений для RegexTransformer в Solr следующим образом:regex=".*img src="(.*)".*"
использование экранированной версии вместо двойных кавычек.источник
В Jelly.core для проверки литеральной строки можно использовать:
Но если мне нужно проверить строку «Toy's R Us»:
Было бы так, если бы внутри были разрешены двойные кавычки:
источник