【发布时间】:2018-03-21 13:44:18
【问题描述】:
我需要从表格行创建 XML 并将其放入字段中。我目前正在使用这个:
DECLARE @x TABLE (Name VARCHAR(20), Address VARCHAR(20), Phone VARCHAR(20))
INSERT INTO @x VALUES ('Ben & Eileen Dover','5 Curdsan Way','123-456-7890')
select [MyField] = (
select *
from @x
for xml path('Customer'), TYPE
)
但是,这会将& 符号转换为&。有没有什么方法可以翻译特殊字符而不必为每个字符都做一个 REPLACE?我尝试使用 (XML).value('.','varchar(max)') 技巧,但这会删除元素名称。该字段需要包含完整的 XML(正在传递给服务)。
【问题讨论】:
-
请在标签中指定您使用的数据库
-
根据给定的代码更改了标签。请检查此项并在必要时更正...
标签: sql-server xml tsql escaping character