如何在转换的字符串中将字符串构建器转换为字符串而不使用转义序

时间:2009-10-27 07:00:36

标签: c# asp.net sql sql-server-2005

我正在给字符写入器写一些XML数据。我想将字符串写入器中的值传递给数据库,但是当我将其转换为类似

的字符串时

StringWriter.GetStringBuilder()。ToString()它将所有“(双引号)转换为\”

因此,当我将其作为参数传递给数据库时,当我尝试使用openXML读取数据时,它会抛出错误。

有没有解决这个问题?

我使用的是ASP.NET 2.0 SQl服务器2005

谢谢!

1 个答案:

答案 0 :(得分:4)

我强烈怀疑你在看调试器。这将显示转义的表单,但如果它们不应该是引号,那么引号实际上不在字符串中。

我建议你以某种方式记录字符串 - 然后你会看到真实数据,我的猜测是它不会包含反斜杠 - 假设你还没有写任何反斜杠到StringWriter开始用。你是如何将数据写入StringWriter的?您的问题是否可能进一步上游? (如果您手动编写XML ,我强烈建议您使用XML API。它更不容易出错。)

尝试阅读XML时会出现什么错误?它在数据库中是什么样的?

我几乎可以保证问题不会出现在StringWriterStringBuilder中 - 它们不会执行任何转义。

另一方面,您有没有理由拨打GetStringBuilder().ToString()而不仅仅是ToString()