9
我正在尝试获取XML字段中的节点数。但我总是看到0作为结果。这是我的查询的样子。获取XML字段中的节点数XQuery SQL Server 2008
DECLARE @XmlTable TABLE (XmlResult XML)
INSERT INTO @XmlTable EXECUTE [dbo].usp_GetBooks @EditionId=400
--select * from @XmlTable
SELECT
--Count number of nodes
COUNT(*) AS BooksCount
FROM
(
SELECT XmlResult FROM @XmlTable
) AS XmlTable(XmlColumn)
CROSS APPLY XmlColumn.nodes('./books/book') XmlTableFunction(XmlColumn2);
我的XML看起来像:
<Version number ="1">
<books>
<book>
<name> </name>
<author></author>
</book>
<book>
<name> </name>
<author></author>
</book>
</books>
</Version>
什么XML看起来像什么?零意味着您没有来自CROSS APPLY的行... – gbn 2011-03-25 21:41:55
@gbn。当我从@XmlTable中选择*时,我看到至少3个Edition元素的版本ID = 400 – BumbleBee 2011-03-25 21:50:09
您的XML示例无效 - 第一个“”应该用' '(它现在不是)关闭,并且'<版本号= 1>'无效 - 1需要用引号括起来:'' –
2011-03-25 22:19:11