How to get specific element Count in XML or XElement variable

拜拜、爱过 提交于 2019-11-26 21:46:33

问题


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#?


回答1:


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();



回答2:


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



回答3:


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


来源:https://stackoverflow.com/questions/8764510/how-to-get-specific-element-count-in-xml-or-xelement-variable

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!