统计SQL中XML的子标签数量
Count the number of sub tags from XML in SQL
XML 从代码发送到 SQL 服务器。我的 XML 看起来像这样:
Declare @MainXML XML=
'<root>
<a>JJ</a>
<a>KK</a>
</root>'
根据上面的 xml,我想将 2 存储为 SQL 中第 1 列下的子元素 "a" 的计数。
Column1
-------
2
你能帮我解决这个问题吗?
如果您使用的是 mssql server
,那么您可以利用 OPENXML 支持。您可以通过在解析的 XML:
上使用 SELECT
来获取 a
节点的计数
Declare @MainXML XML =
'<root>
<a>JJ</a>
<a>KK</a>
</root>'
SELECT COUNT(MainXML.A.value('.', 'VARCHAR(100)')) AS Cnt
FROM @MainXML.nodes('root/a') MainXML(A)
我会用 xpath
:
select @MainXML.query('count(root/a)')
XML 从代码发送到 SQL 服务器。我的 XML 看起来像这样:
Declare @MainXML XML=
'<root>
<a>JJ</a>
<a>KK</a>
</root>'
根据上面的 xml,我想将 2 存储为 SQL 中第 1 列下的子元素 "a" 的计数。
Column1
-------
2
你能帮我解决这个问题吗?
如果您使用的是 mssql server
,那么您可以利用 OPENXML 支持。您可以通过在解析的 XML:
SELECT
来获取 a
节点的计数
Declare @MainXML XML =
'<root>
<a>JJ</a>
<a>KK</a>
</root>'
SELECT COUNT(MainXML.A.value('.', 'VARCHAR(100)')) AS Cnt
FROM @MainXML.nodes('root/a') MainXML(A)
我会用 xpath
:
select @MainXML.query('count(root/a)')