我正在给字符写入器写一些XML数据。我想将字符串写入器中的值传递给数据库,但是当我将其转换为类似
的字符串时StringWriter.GetStringBuilder()。ToString()它将所有“(双引号)转换为\”
因此,当我将其作为参数传递给数据库时,当我尝试使用openXML读取数据时,它会抛出错误。
有没有解决这个问题?
我使用的是ASP.NET 2.0 SQl服务器2005
谢谢!
答案 0 :(得分:4)
我强烈怀疑你在看调试器。这将显示转义的表单,但如果它们不应该是引号,那么引号实际上不在字符串中。
我建议你以某种方式记录字符串 - 然后你会看到真实数据,我的猜测是它不会包含反斜杠 - 假设你还没有写任何反斜杠到StringWriter
开始用。你是如何将数据写入StringWriter
的?您的问题是否可能进一步上游? (如果您手动编写XML ,我强烈建议您使用XML API。它更不容易出错。)
尝试阅读XML时会出现什么错误?它在数据库中是什么样的?
我几乎可以保证问题不会出现在StringWriter
或StringBuilder
中 - 它们不会执行任何转义。
另一方面,您有没有理由拨打GetStringBuilder().ToString()
而不仅仅是ToString()
?