かなり単純な質問-二重引用符を使用したい属性があります。それらをエスケープするにはどうすればよいですか?私はもう試した
- 「」
- 「」
- \\ "
そして、@ xml変数をxmlタイプとそれらすべての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
                
                1
              
                  ちなみに...ここではopenxmlを使用する理由(AFAIK)はありません...これは「2005より前」のものです。xml値がある場合は、それを直接xmlとして使用します。
                
                
                  
                    —
                    Marc Gravell 
                    
                  
                
              
                  マーク-ありがとう。私はopenxmlがカーリーアポストロフィでつぶれていた別のバグがありました。
                
                
                  
                    —
                    トムリッター