Consider this 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>
I declare a XElement
variable and create the XML assigning it to that. How I can get count of ID
elements in this XML variable in C#?
Prerequisite: in order to use .Count()
you need to import the namespace System.Linq
:
using System.Linq;
You can filter the descendant elements using the Descendants
method with the name "ID", then count the results:
int count = xml.Descendants("ID").Count();
Be aware that Descendants
looks through all levels. If you had an element other than Person
that also had an ID
child element, you would want to be more specific. In that case, to count ID
child elements that belong to Person
elements, you would use:
int count = xml.Elements("Person")
.Elements("ID")
.Count();