2012-01-06 7 views
6

consideran este XML:Como ir elemento específico en el Conde variable XML

<Employees> 
    <Person> 
     <ID>1000</ID> 
     <Name>Nima</Name> 
     <LName>Agha</LName> 
    </Person> 
    <Person> 
     <ID>1001</ID> 
     <Name>Ligha</Name> 
     <LName>Ligha</LName> 
    </Person> 
    <Person> 
     <ID>1002</ID> 
     <Name>Jigha</Name> 
     <LName>Jigha</LName> 
    </Person> 
    <Person> 
     <ID>1003</ID> 
     <Name>Aba</Name> 
     <LName>Aba</LName> 
    </Person> 
</Employees> 

que declarar una variable y asignar XML este XML a eso. ¿Cómo puedo contar los elementos ID en esta variable XML utilizando Sql Server 2008 (TSQL)?

+0

¿Puede cargarlo en un .NET XDocument? Desde allí, puede cargar la raíz como un XElement y obtener el recuento a través de XElement.Elements.Count(). – Paparazzi

+0

Es posible que pueda hacerlo en TSQL usando XQuery y nodos. – Paparazzi

Respuesta

4

probar esto:

declare @xmlvar XML; 
set @xmlvar ='<YOUR XML>'; 
select @xmlvar.value('count(/Employees/Person/ID)', 'INT') AS 'Count' 
16
SELECT @XMLVariable.value('count(/Employees/Person/ID)', 'int') AS IDCount 
Cuestiones relacionadas