问题标签 [for-xml]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
4056 浏览

sql - Sql Server FOR XML - 编码结果以防止格式错误的 xml

我正在使用 SQL SERVER 2008 R2。我有一个使用 FOR XML 将结果作为 XML 返回的存储过程。这是存储过程的样子:

这可以按预期工作并生成如下 XML:

这就是我想要的。但是我担心的是,当 XML 中有特殊字符(例如 < 和 >)时,这不会搞砸并导致 XML 格式错误吗?有没有办法解决这个问题?我可以在调用此存储过程的代码中进行一些检查,以查看它是否是有效的 XML,但是到发生这种情况时会不会太晚了?如果有人可以就我应该如何处理这个问题提出一些建议,我将不胜感激。非常感谢。

0 投票
1 回答
14027 浏览

sql - 如何在子查询中使用 FOR XML?

我想返回以下 xml:

我写了下面的代码但不起作用:

但它返回:

我应该写什么sql?

谢谢,

0 投票
1 回答
335 浏览

sql-server-2008 - 如何更改我从 SQL Server 获得的 XML 模式的格式

我有一个查询:

此查询返回一个模式:

但我想要更像这样的东西:

我怎样才能做到这一点?

0 投票
2 回答
1614 浏览

sql-server - SQL Server,获取“for xml”值

我认为这很简单,但我似乎无法找到答案。

我在 SQL Server 2005 上运行查询,for xml, elements最后以 XML 形式返回结果。

我正在从经典的 ASP 页面运行查询。通常要从列中获取结果,我会使用rs.Fields.Item("colName"). 问题是,for xml列名是一个长字符串,如XML_F52E2B61-....

我试过了rs.Fields(0).value。这奇怪地返回了查询中由问号分隔的列的名称,而不是 XML。我的输出是:

我在 Management Studio 中测试了我的查询,XML 看起来没问题。有没有办法将此值读入经典 ASP?

0 投票
1 回答
96 浏览

sql - 在sql中连接数据

给定以下 SQL 表(带数据)

我想返回 b 中连接在一起的外键值,如下所示:

我知道 FOR XML PATH 有可能(理论上),我只是想不通

0 投票
2 回答
16003 浏览

sql-server-2008 - 带有 FOR XML 的 SQL Server EXPLICIT 模式

我正在使用 SQL Server 2008,并且正在尝试使用EXPLICIT带有FOR XML.

我有以下查询的一对多关系

在此处输入图像描述

我希望作为父母的人和作为孩子的地址可能是多重的,因为人们要解决的问题是一对多的关系。

我写了以下查询

输出如下,这是嵌套的人破坏的xml,我的代码肯定有问题。

有没有人可以帮帮我!!!

0 投票
2 回答
13727 浏览

sql-server - 将 FOR XML 转换为 Varchar(max)

我有一个返回要转换为 varchar 的 XML 的查询。我的查询返回 93,643 个字符的 XML。当我尝试将我的 xml 结果转换为 varchar 时,当我将结果集复制到文本编辑器时,我只得到 43,679 个字符。当我执行 len(xmlString) 时,我得到 93,643 个字符。

我从这篇文章中知道 varchar(max) 最多可以有 2^31 个字符和 1 个字节 = 1 个字符,但它似乎切断了我的数据。

XML 字符是否超过 1 个字节?为什么我无法从我的 xml 结果中选择所有数据?

0 投票
4 回答
17247 浏览

tsql - TSQL:使用 FOR XML 的每个元素一行

我有一个 SQL Server 2005 查询,它生成一个大型结果集(最多几 GB):

运行查询会生成一个包含包含许多产品元素的文档的单行:

我想更改查询,以便它返回多行,而不是一行包含具有多个产品元素的单个文档的结果集,每个行都有一个包含单个产品元素的文档:

最后,我想在没有 SQL Server 或我的应用程序将整个结果集加载到内存的情况下使用 IDataReader 从 C# 使用此查询。我可以对 SQL 进行任何更改以启用此方案吗?

0 投票
3 回答
1730 浏览

sql-server - SQL Server 'FOR XML' 将值放入“行”元素节点

这是另一个“for xml”问题,但我不确定这是否可以在没有显式模式的情况下完成。如果不能,那我就只能忍受了。

以下是我目前的选择语句:

这将输出以下 xml:

这还不错,但我真正想要的是获取name元素的值作为file元素的值。这是一个如此简单的任务,我认为它可以在没有显式模式的情况下完成,但我经常在这些事情上犯错。

I've tried using the '/' marker, but this doesn't seem to have the effect I want (for example Update XML node (in an XML column) in SQL Server 2005 with another column value in the same row).

edit: The desired xml would be simply this:

Many thanks for the help.

0 投票
1 回答
289 浏览

sql - 如何使用 forxml 子句从 xmlstring 中读取列值

在我们的数据库表中,列存储为 xml 字符串,如下所示。

我想获取此字符串的列值。例如,我必须获取列的值2013-01-15T00:00:00+05Installed Date如何使用 forxml 子句获得这个?