Как получить определенное количество элементов в переменной XML или XElement

рассмотрим этот 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>

Я объявляю XElement переменная и создайте XML, назначив его этому. Как я могу получить счет ID элементы в этой переменной XML в C#?

3 ответов


вы можете фильтровать элементы с помощью Descendants метод С именем "ID", затем подсчитайте результаты:

int count = xml.Descendants("ID").Count();

имейте в виду, что Descendants просматривает все уровни. Если бы у вас был элемент, отличный от Person, что также было ID дочерний элемент, вы хотели бы быть более конкретными. В таком случае, считать ID дочерние элементы, принадлежащие Person элементы, вы должны использовать:

int count = xml.Elements("Person")
               .Elements("ID")
               .Count();

var cnt = element.Descendants("ID").Count();

XmlDocument xmldoc = new XmlDocument();
 xmldoc.Load(XmlPath);
var totalItems = xmldoc.SelectNodes(
         "/root/node/LastName/").Count;