Подтвердить что ты не робот

Как получить определенный элемент Count в 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 в С#?

4b9b3361

Ответ 1

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

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

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

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

Ответ 2

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

Ответ 3

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