使用SQL查询XML数据列

Stu*_*rtO 5 xml sql sqlxml sql-server-2012

我在查询存储在SQL Server 2012数据库中的XML数据时遇到问题.我想查询的节点树采用以下格式 -

<eForm>
   <page id="equalities" visited="true" complete="true">
      <Belief>
         <item selected="True" value="Christian">Christian</item>
         <item selected="False" value="Jewish">Jewish</item>
         ...
      </Belief>
   </page>
</eForm>
Run Code Online (Sandbox Code Playgroud)

我想要做的是返回item节点的value属性,其中selected属性等于true.我已经阅读了几篇关于在SQL中查询XML的教程,但似乎无法正确获取代码.

谢谢斯图

Mar*_*zek 4

演示版

SELECT [value].query('data(eForm/page/Belief/item[@selected="True"]/@value)')
FROM test
Run Code Online (Sandbox Code Playgroud)