计算 XDocument 上的子节点
Posted
技术标签:
【中文标题】计算 XDocument 上的子节点【英文标题】:Count child nodes on XDocument 【发布时间】:2011-10-29 20:06:03 【问题描述】:有没有办法?
我查找了一种计数方法或属性,但找不到。
谢谢 狮子座
【问题讨论】:
我找到了一种使用 xdocument.Root.Nodes().Count() 的方法,但我不确定这是否是最好的方法。谢谢 请澄清。 XDocument 是包含 XML 数据的文档。您想知道文档中的总行数吗?还是想知道文档根元素的子节点? 丹尼尔,谢谢你的回复。这就是我一直在寻找的。 doc.Descendants().Count();谢谢托马斯。 那么你应该将 Thomas 的回复设置为答案。 GFK,我试过了,但我想在设置的答案生效之前有 10 分钟的等待时间。 【参考方案1】:var doc = XDocument.Load(fileName);
int descendantsCount = doc.Descendants().Count(); // counts ALL descendants elements
int childrenCount = doc.Root.Elements().Count(); // counts direct children of the root element
【讨论】:
【参考方案2】:或者...如果您知道元素的名称永远不会改变并且它们始终存在,
XDocument xD = XDocument.Load(XmlFullFileName);
XElement xE_ParameterSets = xD.Root.Element("Report").Element("ParameterSets");
int index = ((IEnumerable<XElement>)xE_ParameterSets.Elements()).Count();
【讨论】:
以上是关于计算 XDocument 上的子节点的主要内容,如果未能解决你的问题,请参考以下文章