有没有一种简单的方法可以使用 C# 获取 XML 字符串(XML 文档作为字符串提供)的所有叶子的数量?
问问题
404 次
2 回答
11
XDocument xDoc = XDocument.Parse(xml);
var count = xDoc.Descendants().Where(n => !n.Elements().Any()).Count();
或如@sixlettervariables 建议的那样
var count = xDoc.Descendants().Count(e => !e.HasElements);
于 2012-07-12T15:26:30.420 回答
4
以下是使用 XPath 的方法(借用 helio):
XmlDocument doc = new XmlDocument();
doc.LoadXml("...");
int count = doc.SelectNodes("//*[not(*)]").Count;
//
表示匹配所有后代*
表示任何 XML 元素[]
表示一个条件not(*)
表示当前元素没有子元素
于 2012-07-12T15:28:43.953 回答