将 XML 从 C# 传递到 SQL Server

Posted

技术标签:

【中文标题】将 XML 从 C# 传递到 SQL Server【英文标题】:Pass XML from C# to SQL Server 【发布时间】:2011-11-16 06:36:53 【问题描述】:

我正在尝试将以下格式的 XML 从 C#(DataType 字符串)发送到 SQL Server 存储过程:

<Content> </Content>

在 SQL Server 列中应该存储一个空格。但它会像&lt;Content/&gt; 一样存储。所以简而言之,从 c# 到 SQL Server 的空间丢失了。

有没有办法避免这种情况?

【问题讨论】:

我认为您的示例代码丢失了,请编辑问题以便我们为您提供帮助。 Mayur 放了一些代码。它帮助同行更好地理解问题 他在 &lt;content&gt; 元素中丢失了一个空格 ' ' 字符 【参考方案1】:

这两个片段是等价的; SQL Server 只是在优化 XML。

需要那里的空间有什么特别的原因吗?如果是这样,你可以试试xml:space="preserve",像这样:

<Content xml:space="preserve"> </Content>

【讨论】:

【参考方案2】:

您可以添加属性xml:space="preserve"。这有助于“正常”序列化上下文,我不知道它是否会对您的特殊上下文有所帮助。

【讨论】:

【参考方案3】:

您尝试过使用 吗?

【讨论】:

以上是关于将 XML 从 C# 传递到 SQL Server的主要内容,如果未能解决你的问题,请参考以下文章

C# 十进制到 SQL Server 钱

在 Sql Server 中将 xml 文档作为存储过程的参数传递是不是安全?

使用 c# asp.net 获取 XML 数据并插入到 sql server

如何将数组传递到 SQL Server 存储过程

如何在 C# 控制台应用程序中使用 XmlTextReader 将 XML 数据插入 SQL Server 表?

如何从 C# 代码将 SQL Server CE 迁移到 SQL Server 2012 Express