SQL Server bcp:如何使用转义双引号检索xml字段

SQL Server bcp:如何使用转义双引号检索xml字段,sql,sql-server,xml,bcp,Sql,Sql Server,Xml,Bcp,我正在使用从表中提取数据。特别是有一个xml列(类型xml,而不是VARCHAR),该列的属性中可以嵌套双引号,如下所示: <test> <tag1 att1="Hello "world""></tag1> </test> 但我明白了: <test> <tag1 att1="Hello "world""></tag1> </test> 这是无效的xml,无法分析。 有什么方法可

我正在使用从表中提取数据。特别是有一个xml列(类型xml,而不是VARCHAR),该列的属性中可以嵌套双引号,如下所示:

<test>
    <tag1 att1="Hello "world""></tag1>
</test>
但我明白了:

<test>
    <tag1 att1="Hello "world""></tag1>
</test>

这是无效的xml,无法分析。
有什么方法可以告诉SQL Server,它应该在输出中为我提供有效的转义xml吗?

这是您真正应该在创建xml时解决的问题。给定的样本完全错误。。。您可以在外部使用单引号,在内部使用双引号,而无需任何麻烦(反之亦然)。你怎么知道,如果世界面前的报价是在?。解决这个问题,需要逐个字符地运行字符串,并自己编写类似XML解析器的东西……经过一些研究,这似乎是
bcp
实用程序的一个缺陷。XML数据在数据库表中是正确的,但是当您尝试使用实用程序检索它时,它没有正确转义。例如,使用用于sql server的jdbc驱动程序不会发生这种情况,在这种情况下,xml数据会正确转义。
<test>
    <tag1 att1="Hello "world""></tag1>
</test>