【问题标题】:FOR XML EXPLICIT - Generating £FOR XML EXPLICIT - 生成 £
【发布时间】:2013-04-25 11:06:14
【问题描述】:

我在使用 FOR XML EXPLICIT 时遇到问题。

基本上,我们(我们的公司)使用向其发送 XML 的文档打印公司。我正在开发一个新文档,需要的句子之一是:

“每月支付 98 英镑,最长 12 个月的任何索赔。”

印刷公司无法处理 £ 符号,因此要求其格式为 £我虽然很容易实现。所以我在 SQL 中构建了字符串,但是当生成输出时,FOR XML EXPLICIT 生成 £公司也不想要。

请你帮我输出文字字符串 £

提前致谢:)

【问题讨论】:

  • 您是如何处理从 SQL 返回的值的?在他们去印刷公司之前你会怎么处理他们?
  • 嗨。 xml 被压缩并通过 ftp 发送。我可以更改执行此操作的应用程序,但我会不惜一切代价避免这种情况。该应用程序已经运行了几个月,我不想打扰它。谢谢
  • 字符串在SQL中是如何存储的?作为£ 还是£?在压缩之前如何将 XML 保存到磁盘?您如何以代码形式从 SQL Server 检索它?
  • sql字符串是在SP里建立起来的,目前写成£该应用程序使用 c# 中的 xmlreader 读取 xml,但如果我可以摆脱它,我并不太热衷于修改应用程序。塔
  • 这就是问题所在 - XmlReader 将第一个 & 编码为 &。您将需要以一种或另一种方式更改应用程序。

标签: sql-server xml escaping for-xml


【解决方案1】:

您应该使用修饰符(元素、xml)。 看到这个

 select 1 as tag, null as parent,
 '£'            as [a!1!b!xml],
 '£'       as [a!1!c!xml],
 '£'       as [a!1!d!element]
 for xml explicit

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-01-23
    • 2010-09-05
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多