2012-01-06 57 views
6

考慮這個XML:如何獲得特定元素在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> 

我聲明一個變量XML這個XML分配給。如何使用Sql Server 2008(TSQL)獲得此XML變量中的ID元素的數量?

+0

可以將其加載到.NET的XDocument?從那裏你可以加載根作爲XElement,並通過XElement.Elements.Count()獲取計數。 – Paparazzi 2012-01-06 19:26:35

+0

您可以使用XQuery和節點在TSQL中執行此操作。 – Paparazzi 2012-01-06 19:29:51

回答

4

試試這個:

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