Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/83.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 将字符串转换为XML非法字符_Sql_Xml_Tsql - Fatal编程技术网

Sql 将字符串转换为XML非法字符

Sql 将字符串转换为XML非法字符,sql,xml,tsql,Sql,Xml,Tsql,我试图将字符串转换为XML,当字符串包含&符号时,会出现非法字符问题 select convert(xml, '<root> <stuff> <test>something & this will error</test> </stuff> </root>') 选择转换(xml、, ' 有些东西&这会出错 ') XML解析:第3行,字符25

我试图将字符串转换为XML,当字符串包含
&
符号时,会出现非法字符问题

select convert(xml, 
    '<root>
        <stuff>
            <test>something & this will error</test>
        </stuff>
    </root>')
选择转换(xml、,
'
有些东西&这会出错
')
XML解析:第3行,字符25,非法名称字符


您需要在XML中转义符号和
&
字符。尝试将
替换为
&

select convert(xml, 
    REPLACE('<root>
        <stuff>
            <test>something & this will error</test>
        </stuff>
    </root>','&','&amp;'))
选择转换(xml、,
替换('
有些东西&这会出错
","与","与"))

和,&,“等等。我很好奇如何替换
请举例说明如何替换
相同的想法:将
用于
,等等。因此结果将是
根代码等等…
不,谢谢。您不必在SQL语句中转义它们。。。其他字符是标记的一部分。我认为您的评论是指实体文本中的内容。您不必替换示例中的任何其他字符,只需替换
&
。如果要在标记之间使用这些字符,则必须将其转义。