【问题标题】:Count child nodes on XDocument计算 XDocument 上的子节点
【发布时间】:2011-10-29 20:06:03
【问题描述】:

有没有办法计算 XDocument 上的子节点?

我查找了一种计数方法或属性,但找不到。

谢谢 狮子座

【问题讨论】:

  • 我找到了一种使用 xdocument.Root.Nodes().Count() 的方法,但我不确定这是否是最好的方法。谢谢
  • 请澄清。 XDocument 是包含 XML 数据的文档。您想知道文档中的总行数吗?还是想知道文档根元素的子节点?
  • 丹尼尔,谢谢你的回复。这就是我一直在寻找的。 doc.Descendants().Count();谢谢托马斯。
  • 那么你应该将 Thomas 的回复设置为答案。
  • GFK,我试过了,但我想在设置的答案生效之前有 10 分钟的等待时间。

标签: c# .net xml linq linq-to-xml


【解决方案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();
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-06-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-15
      相关资源
      最近更新 更多