Pertanyaan yang cukup sederhana - Saya memiliki atribut yang ingin saya kutip ganda. Bagaimana cara saya menghindarinya? Saya sudah mencoba
- \ "
- ""
- \\ "
Dan saya telah membuat variabel @xml baik tipe xml dan varchar (maks) untuk semuanya.
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
Jawaban:
Bukankah itu
"
dalam xml? yaituSunting **: ** diuji; bekerja dengan baik:
sumber
tSql lolos dari penawaran ganda dengan penawaran ganda lainnya. Jadi jika Anda ingin menjadi bagian dari string literal sql Anda, Anda akan melakukan ini:
Jika Anda ingin memasukkan kutipan di dalam nilai dalam xml itu sendiri, Anda menggunakan entitas, yang akan terlihat seperti ini:
sumber
Tidak dapat berkomentar lagi tetapi memilihnya dan ingin memberi tahu orang-orang bahwa itu
"
berfungsi dengan sangat baik untuk file konfigurasi xml ketika membentuk ekspresi regex untuk RegexTransformer di Solr seperti:regex=".*img src="(.*)".*"
menggunakan versi yang keluar alih-alih tanda kutip ganda.sumber
Dalam Jelly.core untuk menguji string literal yang akan digunakan:
Tetapi jika saya harus memeriksa string "Toy's R Us":
Akan seperti ini, jika tanda kutip ganda diizinkan di dalam:
sumber