如何在 SQL 2005 上使用 FOR XML PATH 时保留与号 (&)

2023-12-31

有什么技巧可以防止 SQL Server 将 &、 等字符实体化吗?我正在尝试在 XML 文件中输出 URL,但 SQL 希望将任何“&”替换为“&'

进行以下查询:

SELECT 'http://foosite.com/' + RTRIM(li.imageStore)
        + '/ImageStore.dll?id=' + RTRIM(li.imageID)
        + '&raw=1&rev=' + RTRIM(li.imageVersion) AS imageUrl
FROM ListingImages li
FOR XML PATH ('image'), ROOT ('images'), TYPE

我得到的输出是这样的(&s已实体化):

<images>
  <image>
    <imageUrl>http://foosite.com/pics4/ImageStore.dll?id=7E92BA08829F6847&amp;raw=1&amp;rev=0</imageUrl>
  </image>
</images>

我想要的是这样的(&s没有实体化):

<images>
  <image>
    <imageUrl>http://foosite.com/pics4/ImageStore.dll?id=7E92BA08829F6847&raw=1&rev=0</imageUrl>
  </image>
</images>

如何防止 SQL Server 将 '&' 实体化为 '&amp;'?


在某些情况下,人们可能不想要格式良好的 XML - 我(也许是原始发布者)遇到的情况是使用 For XML Path 技术通过递归查询返回“子”项的单个字段列表。有关此技术的更多信息请参见此处(特别是在“黑盒 XML 方法”部分):在 Transact-SQL 中连接行值 https://www.simple-talk.com/sql/t-sql-programming/concatenating-row-values-in-transact-sql/

对于我的情况,看到“H&E”(一种病理染色)转变为“格式良好的 XML”真是令人失望。幸运的是,我找到了一个解决方案......下一页帮助我相对轻松地解决了这个问题,并且无需重新架构我的递归查询或在表示级别添加额外的解析(对于这个以及我的孩子的其他/未来情况) -行数据字段包含保留的 XML 字符):使用 FOR XML PATH 处理特殊字符 http://blogs.lobsterpot.com.au/2010/04/15/handling-special-characters-with-for-xml-path/


编辑:下面的代码来自引用的博客文章。

select
  stuff(
     (select ', <' + name + '>'
     from sys.databases
     where database_id > 4
     order by name
     for xml path(''), root('MyString'), type
     ).value('/MyString[1]','varchar(max)')
   , 1, 2, '') as namelist;
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在 SQL 2005 上使用 FOR XML PATH 时保留与号 (&) 的相关文章

  • 删除或更改 ETL 中的记录

    我有一个表 我在上面构建了 ETL 服务 货物记录 到达 离开 进入表格 我已经这样做了 我的桌子将被删除 当项目标识符第二次到达数据库时 两条记录都被删除 label cost time x2 29 14 5 2020 01 00 00
  • 金融 - 计算到期收益率

    我读了this https stackoverflow com questions 1173555 open source financial library specifically yield to maturity发布关于 net 库
  • sql查询中case语句中的布尔值

    我在选择查询中使用 case 语句 类似这样 Select col1 col2 isActive case when col3 abc then 1 else 0 end col4 from
  • 如何比较 Postgresql 中日期时间字段中的日期?

    在比较 postgresql Windows 中的版本 9 2 4 中的日期时 我遇到了一个奇怪的情况 我的表中有一列说update date与类型timestamp without timezone 客户可以仅使用日期搜索此字段 例如 2
  • max()、分组依据和排序依据

    我有以下 SQL 语句 SELECT t client id max t points AS max FROM sessions GROUP BY t client id 它只是列出了客户 ID 以及他们所获得的最大积分 现在我想按 max
  • 如何使用 Alter Table 在 Access 中创建小数字段?

    我想以编程方式在 MS Access 表中创建一个新列 我尝试过很多排列ALTER TABLE MyTable Add MyField DECIMAL 9 4 NULL 并得到 字段定义中的语法错误 我可以轻松创建一个数字字段Double类
  • Wordnet sqlite 同义词和示例

    我正在尝试获取给定 wordid 的同义词和示例列表 经过大量的试验和错误 我可以获得所有同义词集的样本 但不是实际的同义词 这是我的查询 它给出了以下结果 select senses wordid senses synsetid sens
  • 如何从连接字符串中提取数据库名称,而不考虑 RDBMS?

    我正在研究一个不知道正在使用的 RDBMS 的课程 当然 应用程序的其余部分都清楚这一点 连接字符串是此类的输入 我需要数据库名称 无论 RDBMS 如何 如何从连接字符串中提取数据库名称 我读到以下问题 如何使用 SqlConnectio
  • xQuery LIKE 运算符?

    有没有办法以与 SQL 相同的方式使用 XQuery 执行 LIKE 操作 我不想构造一些 startswith endswith 和 contains 表达式 我想要实现的目标的示例 for x in user where x first
  • oracle lag 函数与 group by

    我有一个查询忽略从前一个值增加的值 例如 采用下表 col1 col2 col3 5 1 A 4 2 A 6 3 A 9 4 B 8 5 B 10 6 B 现在进行以下查询 select col1 from select col1 lag
  • SQL查询获取最后两条记录的DateDiff

    我有一个名为 Event 的表 其中 eventNum 作为主键 日期作为 SQL Server 2008 R2 中的 datetime2 7 我试图获取表中最后两行的日期并以分钟为单位获取差异 这就是我目前所拥有的 Select DATE
  • 在bigquery中比较两个表的有效方法

    我有兴趣比较两个表是否包含相同的数据 我可以这样做 standardSQL SELECT key1 key2 FROM SELECT table1 key1 table1 key2 table1 column1 table2 column1
  • Android:java.lang.OutOfMemoryError:

    我在 Android 上开发了一个使用大量图像的应用程序 可绘制文件夹中有很多图像 比如说超过 100 张 我正在开发图像动画应用程序 我使用 imageview 来显示 GIF 图像 我使用了将 gif 图像分割成多个 PNG 格式图像的
  • Php Curl HTTP POST REQUEST 使用嵌套键值对设置自定义标头

    如何使用 Curl 在 php 中设置此标头 CustomInfo 元素是数组 嵌套键值对 AuthenticationInfo 元素是数组 嵌套键值对
  • 将 aspx 文件加载到 xmldocument 中

    我希望能够将 aspx 页面加载到 XmlDocument 变量中 我怎么做 这是我尝试过的 它期望 xml 文件而不是 aspx 页面 有没有办法将aspx页面即时转换为xml文档并加载它 谢谢 string filePath C Web
  • 膨胀类 android.support.design.widget.NavigationView 时出错

    我按照 NavigationView 的教程进行操作 但无法解决此错误消息 Error inflating class android support design widget NavigationView 教程链接 https www
  • 解析根元素内元素之间的 XML 文本

    我正在尝试用 Python 解析 XML 以下是 XML 结构的示例 a aaaa1 b bbbb b aaaa2 a
  • 从 $i 获取值,顺序被打乱

    for i 0 i lt count name i some output ommited td td
  • SQL Server 标识列值从 0 而不是 1 开始

    我遇到了一个奇怪的情况 数据库中的某些表的 ID 从 0 开始 即使 TABLE CREATE 的 IDENTITY 1 1 也是如此 对于某些表来说是这样 但对于其他表则不然 它一直有效到今天 我尝试过重置身份列 DBCC CHECKID
  • SSIS 包失败并出现“无法获取连接”错误

    我们有一个从 Web 服务启动的 SSIS 包 在开发环境中 一切正常 但在 QA 环境中 尝试运行包时出现以下错误 无法获取连接 ConnectionName 连接可能未正确配置 或者您可能没有正确的权限这个连接 连接使用 SQL 登录

随机推荐

  • C 编译器如何发现 -lm 指向文件 libm.a?

    Linux 中 C 编程中的 a 文件是什么 是库文件吗 To merge with the math library libm a you would type cc o program name prog c lm when you c
  • 双端链表和双向链表的区别

    我不明白双端列表和双链表之间的区别 两者之间的主要区别是什么 在双向链表中 每个节点都有两个指针 一个朝向其下一个节点 另一个朝向其前一个节点 在双端链表中 每个节点只有一个指向其下一个节点的指针 它与单端链表的区别在于 它不是只有一个 头
  • CSS“真实”阴影(光源)

    看看下面的图片 蓝色的盒子是div 现在我想做的是实现一种 2 5D 功能 我希望灰色阴影有点 3D 风格 起初我想将 Y 轴分配给盒子阴影值 如下所示 box shadow 5px 5px 10px value tallness 888
  • USB 详细信息 - 到目前为止还没有运气

    我长期以来一直在寻找有关 USB 协议和布线如何工作的详细说明 但没有成功 我正在寻找关于 USB 软件和硬件方面的工作原理的详细但不过分复杂的解释 链接和解释将不胜感激 我真的没有什么想法了 所以如果你能帮助我那就太好了 这是我所知道的
  • 如何使用 Properties.Resources 中的图像从 WPF 中的代码隐藏动态更改图像源?

    我有一个 WPF 应用程序 需要向用户提供有关内部状态的反馈 该设计有三个图像 分别称为红色 黄色和绿色 根据状态 一次将显示其中一张图像 以下是要点 这三个图像位于代码隐藏的 Properties Resources 中 一次仅显示一张图
  • Xlib:关闭窗口总是导致致命的 IO 错误?

    我不确定为什么会发生这种情况 但是当我尝试使用 X 按钮关闭时 我使用 C 中的 Xlib 创建的任何窗口都会向终端输出错误 我可以通过编程方式关闭它 不会出现错误 只需按 X 按钮即可 错误如下 XIO fatal IO error 11
  • Enter 键在 ASP.NET 多行文本框控件中插入换行符

    我继承了一些 C asp net 代码 其中有一个文本框 我想将其设置为多行 我通过添加 textmode multiline 来做到这一点 但是当我尝试插入换行符时 回车键会提交表单 P 我用谷歌搜索了一下 似乎默认行为应该是输入 或控制
  • 在组件测试规范中模拟BehaviorSubject

    我正在尝试模拟组件测试中的服务依赖项 该服务有一个我正在尝试模拟的行为主题属性 我的服务如下 export class DatePickerService public date moment Moment public selectedD
  • Elm:将包含单个元素的 JSON 数组解码为字符串

    看过类似的东西 但找不到确切的问题 我有一个从服务器端验证返回的 JSON 如下所示 field field name messages message message 我想做的是将其解码为 elm 记录 例如 field String m
  • 从两个枚举类创建复合类型,为 STL 映射做好准备

    我想创建一个由两种类型组成的复合类型enum classes enum class Color RED GREEN BLUE enum class Shape SQUARE CIRCLE TRIANGLE class Object Colo
  • requirejs 中的把手加载不成功

    paths jquery libs jquery jquery min underscore libs underscore underscore min backbone libs backbone backbone optamd3 mi
  • 编写泛型类来处理内置类型

    也许不太实用 但仍然很有趣 有一些关于矩阵乘法的抽象问题 我快速实现了一个整数矩阵 然后测试了我的假设 在这里我注意到 如果我偶尔想将它与十进制或双精度一起使用 那么仅 int 矩阵不好 当然 我could尝试将所有内容都转换为双倍 但这不
  • pytest配置问题(从nosetests(71秒)到pytest(153​​6秒)的过渡)

    问题 pytest 由策略决定 运行相同的测试套件 585 个测试 需要 1536 秒nosetest 运行时间为 71 秒 The pytest ini文件是 pytest python files tests py tests py n
  • C# 捕获异常

    我应该在 try catch 中使用哪个异常来找出用户何时以错误的格式输入了数据 Example try string s textBox1 Text User inputs an int Input error MessageBox Sh
  • 如何获取wiki模板的内容?

    有谁知道如何访问页面内的模板主体 我熟悉返回所有现有模板列表的 API 但是我如何才能访问模板的主体呢 有这方面的API吗 目前我只看到一种可能的方法 手动解析它 我错了吗 您可以使用扩展模板 http www mediawiki org
  • Flask-restx 请求解析器返回 400 Bad Request

    我在用着flask restx在我的 Flask 应用程序中 但每次我使用 swagger ui 发出请求时 它都会返回 400 http 127 0 0 1 5000 api user register password test ema
  • 如何打印方法的返回值

    我正在研究一种随机数方法来从数组中选择随机元素 但是 我不知道如何打印返回值getRandom 方法 这是代码 import java util Random public class CardDeck public static void
  • “MonadIO m”和“MonadBaseControl IO m”之间有什么区别吗?

    功能运行TCP客户端 http hackage haskell org package network conduit 1 0 0 docs Data Conduit Network html v runTCPClient from 网络管
  • 使用“Convert.ChangeType()”将 System.String 一般转换为任何复杂类型

    我尝试将用户输入一般转换为简单或复杂类型 class Program static void Main string args Console WriteLine Welcome please provide the following i
  • 如何在 SQL 2005 上使用 FOR XML PATH 时保留与号 (&)

    有什么技巧可以防止 SQL Server 将 等字符实体化吗 我正在尝试在 XML 文件中输出 URL 但 SQL 希望将任何 替换为 amp 进行以下查询 SELECT http foosite com RTRIM li imageSto