如何在 MS SQL Server 2008 中使用 XQuery 获取属性值

发布于 2024-08-09 05:22:52 字数 531 浏览 5 评论 0原文

我有这样的 XML:

<EXP>
  <TITLES>
    <SUBTITLE CL="AXT4" FL="1" NB="Text 1"/>
  </TITLES>
  <TITLES>
    <SUBTITLE CL="BVT6" FL="2" NB="Text 2"/>
  </TITLES>
  <TITLES>
    <SUBTITLE CL="PLO7" FL="3" NB="Text 3"/>
  </TITLES>
</EXP>

Using XQuery in SQL Server 2008,How can I select Just the value of the attribute NB in a list, by rows(我需要所有可能的值),

示例:

-- Subtitles --

Text 1

Text 2

文字3

I have an XML like this:

<EXP>
  <TITLES>
    <SUBTITLE CL="AXT4" FL="1" NB="Text 1"/>
  </TITLES>
  <TITLES>
    <SUBTITLE CL="BVT6" FL="2" NB="Text 2"/>
  </TITLES>
  <TITLES>
    <SUBTITLE CL="PLO7" FL="3" NB="Text 3"/>
  </TITLES>
</EXP>

Using XQuery in SQL Server 2008, How can I select Just the value of the attribute NB in a list, by rows (I need all possible values),

Example:

-- Subtitles --

Text 1

Text 2

Text 3

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

一个人的夜不怕黑 2024-08-16 05:22:52
DECLARE @x xml;
SET @x = N'<EXP>
  <TITLES>
    <SUBTITLE CL="AXT4" FL="1" NB="Text 1"/>
  </TITLES>
  <TITLES>
    <SUBTITLE CL="BVT6" FL="2" NB="Text 2"/>
  </TITLES>
  <TITLES>
    <SUBTITLE CL="PLO7" FL="3" NB="Text 3"/>
  </TITLES>
</EXP>
';

SELECT
    t.c.value(N'@NB', N'nvarchar(10)') AS Subtitles
FROM
    @x.nodes(N'/EXP/TITLES/SUBTITLE') t(c);

nodes 表达式分解为行,value 检索列值。

DECLARE @x xml;
SET @x = N'<EXP>
  <TITLES>
    <SUBTITLE CL="AXT4" FL="1" NB="Text 1"/>
  </TITLES>
  <TITLES>
    <SUBTITLE CL="BVT6" FL="2" NB="Text 2"/>
  </TITLES>
  <TITLES>
    <SUBTITLE CL="PLO7" FL="3" NB="Text 3"/>
  </TITLES>
</EXP>
';

SELECT
    t.c.value(N'@NB', N'nvarchar(10)') AS Subtitles
FROM
    @x.nodes(N'/EXP/TITLES/SUBTITLE') t(c);

The nodes expression shreds into rows, and the value retrieves the column value.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文