愚かな質問に対しては申し訳ありませんが、検索してもまだ見つかりませんでした。 (間違った言葉を探しているだけの場合は、コメントを追加して削除して見つけてください)&でXMLタグを取得し、別のXMLフィールドに割り当てるには
短い説明:既存のコードはこのコードを使用しています。私たちが書いたコードを使用して、元のデータから再作成したXMLレコードの一部が消えてしまいました。私たちは、コードが&から&
に変換されているという事実に絞っていますが、それは以下のクエリが失敗する原因となり、その理由を理解できません。我々は、この作業を得るためにバンダードとして&
の交換を行うためにぎこちない変換を使用していますが、正しく動作させることができます。
ここに私のコードです。 &
がなければ動作します。それで、私は「違法な名前の特徴」を得る。どうして?私は(これは、値のメソッドの動作である)&
に戻っ
DECLARE @xml_doc XML, @xmlfirst XML
SET @xml_doc= '<A><B><C>blah & blah</C></B></A>'
select TOP 1 CAST (X.Y.value('./C[1]', 'varchar(max)') as xml)
FROM @xml_doc.nodes('/A/B')X(Y)
なぜXMLに再度キャストするのですか?キャストなしでこのクエリを実行すると、完全に機能します。 - ' '何とか&何とか ' TOP 1 XYvalueを選択 ( './ C [1]'、 'VARCHAR(100)')@ xml_doc.nodes FROM ( '/ A = xml_doc @ SET/B ')X(Y) ' –