如何在XML或XElement变量中获取特定元素Count

Ari*_*ian 16 c# xml linq 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>
Run Code Online (Sandbox Code Playgroud)

我声明一个XElement变量并创建XML,将其分配给它.如何ID在C#中获取此XML变量中的元素数?

Ahm*_*eed 35

您可以使用名为"ID" 的Descendants方法过滤后代元素,然后计算结果:

int count = xml.Descendants("ID").Count();
Run Code Online (Sandbox Code Playgroud)

请注意Descendants所有级别的外观.如果你有一个元素以外的元素Person也有一个ID子元素,你会想要更具体.在这种情况下,要计算ID属于Person元素的子元素,您将使用:

int count = xml.Elements("Person")
               .Elements("ID")
               .Count();
Run Code Online (Sandbox Code Playgroud)