Estoy tratando de obtener el recuento de nodos en un campo XML. pero siempre veo 0 como resultado. Así es como se ve mi consulta.Obtenga el recuento de nodos en un campo 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);
Mi XML se parece a:
<Version number ="1">
<books>
<book>
<name> </name>
<author></author>
</book>
<book>
<name> </name>
<author></author>
</book>
</books>
</Version>
Lo cómo se ve el XML? cero significa que no hay filas de CROSS APLICAR ... – gbn
@gbn. cuando selecciono * de @XmlTable veo al menos 3 elementos de libro para EditionId = 400 – BumbleBee
Su muestra de XML no es válida - el primer '' debe cerrarse con un ' ' (no lo hace - en este momento), y el '' no es válido; el 1 debe estar entre comillas: '' –