繁体   English   中英

使用SQL Server中的XQuery从XML获取同名元素

[英]Get elements of same name from XML using XQuery in SQL server

我正在关注XML

DECLARE @ruleXML XML
SET @RuleXML = '<questionnaire xmlns:xsi="http://schema1" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://schem2" title="Sample">
  <sections>
    <section id="24" title="Section Title" help="" url="">
      <questions />
    </section>
    <section id="23" title="Information" help="" url="">
      <questions />
    </section>
    <section id="25" title="Section Title1" help="" url="">
      <questions>
        <question id="3" title="Question Text">
          <display-rules />
          <questions />
        </question>
        <question id="4" title="Question Text" >
          <response-set type="inline" />
          <display-rules />
          <questions />
        </question>
      </questions>
    </section>
  </sections>
</questionnaire>'

如何使用SQL Server中的XQUERY从所有问题节点获取具有问题ID和标题的表,而不管它们的级别如何?

; with  xmlnamespaces (default 'http://schem2')
select  tbl.col1.value('@id', 'int')
,       tbl.col1.value('@title', 'varchar(100)')
from    @RuleXML.nodes('//question') tbl(col1)

SQL FIddle的工作示例。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM