【问题标题】:Index of Child XElement子 XElement 的索引
【发布时间】:2011-10-03 12:46:33
【问题描述】:

给定一个XElement,有没有办法在父容器中找出该元素的索引?

我知道一定有,但我就是想不通!

谢谢!

【问题讨论】:

  • 主要问题是 XPath 查询正在修改 XML 文档结构...

标签: c# xml linq xelement


【解决方案1】:

试试e.ElementsBeforeSelf().Count()

【讨论】:

  • 我正在使用XPathGetElement,我认为它正在修改文档的结构作为查询的一部分,因此它始终返回零。有什么想法吗?
  • 如果e.Parent有效,你可以试试e.Parent.Elements().TakeWhile(x => x != e).Count()
  • 如果我用等效的 Linq To XML 语句替换我的 XPathGetElement 调用,这(答案中的原始解决方案)可以完美运行。
【解决方案2】:

尝试使用.ToList().IndexOf(),它返回您传入的对象的索引。示例:

var index = document.Elements().ToList().IndexOf(element);

【讨论】:

    【解决方案3】:

    在 VB 中

    Dim Index As String = i.ToString.IndexOf(i.ToString)
    

    【讨论】:

      猜你喜欢
      • 2011-07-22
      • 2010-10-03
      • 1970-01-01
      • 1970-01-01
      • 2023-04-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多