Câu hỏi khá đơn giản - Tôi có một thuộc tính mà tôi muốn có dấu ngoặc kép trong. Làm thế nào để thoát khỏi chúng? Tôi đã thửLàm cách nào để thoát khỏi các dấu nháy kép trong các thuộc tính trong một chuỗi XML trong T-SQL?
- \ "
- ""
- \\"
Và tôi đã thực hiện các biến @xml cả loại xml và varchar (max) cho tất cả chúng .
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
Nhân tiện ... không có lý do gì (AFAIK) sử dụng openxml ở đây ... đó là công cụ "trước năm 2005". Nếu bạn có giá trị xml, hãy sử dụng nó dưới dạng xml trực tiếp. –
Marc - Cảm ơn bạn. Tôi đã có một lỗi khác mà cuối cùng là openxml đã phá sản với dấu nháy đơn: 'Tôi nghĩ tôi sẽ đăng nó như một câu hỏi/câu trả lời cho google để tìm. –