计算 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 上的子节点的主要内容,如果未能解决你的问题,请参考以下文章

ztree获取当前选中节点子节点id集合的方法(转载)

WPF 关于XDocument(xml) 的部分操作记录

POJ2117 Electricity

easyui tree 怎么获取选择节点子节点上的值?js怎么写?

TreeView 点击触发父节点子节点的连锁反应选中与取消

iOS7 SpriteKit 如何对两个或多个精灵节点子节点的动画进行分组?