2012-01-06 34 views
6

Xem xét XML này:Làm thế nào để có được yếu tố cụ thể Đếm trong biến 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> 

Tôi tuyên bố một XML biến và gán XML này để đó. Làm thế nào tôi có thể đếm được các phần tử ID trong biến XML này bằng Sql Server 2008 (TSQL)?

+0

Bạn có thể tải nó thành một .NET XDocument? Từ đó bạn có thể tải gốc như một XElement và nhận được số lượng thông qua XElement.Elements.Count(). – Paparazzi

+0

Bạn có thể làm điều đó trong TSQL bằng cách sử dụng XQuery và các nút. – Paparazzi

Trả lời

4

thử điều này:

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 
Các vấn đề liên quan