在xql server中将xml列值编码为xml

Gai*_*ais 1 xml sql-server

我有一个方法,直接从数据库中获取vales,构建一个xml字符串,然后将xml写入文件.

这很好,直到我得到特殊字符,例如"'","<","&"等.

有没有人知道Sql Server中允许我在选择它们时对值进行编码的东西; 例如;

从myTable中选择编码(service_status)

谢谢.

Qua*_*noi 5

使用FOR XML条款.

它可以XML自动从多个值构建:

WITH  q AS (
        SELECT  'Barnes & Noble' AS shop
        UNION ALL
        SELECT  'Marks & Spencer'
        )
SELECT  *
FROM    q
FOR XML AUTO, TYPE

---
<q shop="Barnes &amp; Noble" /><q shop="Marx &amp; Spencer" />
Run Code Online (Sandbox Code Playgroud)

如果您只想编码现有值,请使用:

SELECT  'Barnes & Noble'
FOR XML PATH('')

---
Barnes &amp; Noble
Run Code Online (Sandbox Code Playgroud)