2012-01-06 14 views
6

considerare questo XML:Come ottenere elemento specifico Count in variabile 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> 

dichiaro un XML variabile e assegnare questo XML a questo. Come posso ottenere il conteggio degli elementi ID in questa variabile XML utilizzando SQL Server 2008 (TSQL)?

+0

Puoi caricarla in un XDocument NET? Da lì è possibile caricare la radice come XElement e ottenere il conteggio tramite XElement.Elements.Count(). – Paparazzi

+0

Potrebbe essere possibile farlo in TSQL utilizzando XQuery e i nodi. – Paparazzi

risposta

4

provare questo:

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 
Problemi correlati