2012-01-06 4 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

+0

XQueryとノードを使用してTSQLで実行できる場合があります。 – Paparazzi

答えて

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 
関連する問題