问题
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