この質問は、開発者の Michael Rys が、CDATA セクションの解析を FOR XML PATH に含めることをかなり好戦的に拒否したことによって引き起こされました。
HTML のナゲットを CDATA ノードに保存したり、特殊文字や扱いにくい文字を使用する必要があるその他のコンテンツを保存したりしました。しかし、Rys の論争の的となっている主張に異議を唱える資格はないと思います。なぜなら、私が便宜上 CDATA を使用したシナリオでは技術的には Rys が正しいと思うからです。
開発者がインターネットで FOR XML PATH を使用して CDATA セグメントをレンダリングする方法についてアドバイスを求めているとき、回答者は常に FOR XML EXPLICIT を使用するように指示しています。Rysが「クエリ地獄の"。
誰もが提案できるすべてのユースケースで本当にCDATAなしでできるのであれば、今後はうめき声をやめてCDATAの使用を拒否すべきだと思います。しかし、CDATA が必須である明確に定義されたケースがある場合、Rys は、この質問の一番上のリンクで、それを FOR XML PATH に組み込むことをすでに約束しています。
それで、それはどれですか?CDATA セクションは本当に過去の遺物ですか? それとも、Rys は指を抜いて、FOR XML PATH で CDATA を解析できるようにする必要がありますか? それまでの間、FOR XML PATH を取得して CDATA セクションを返すためのハックはありますか?