子 XElement 的索引
Posted
技术标签:
【中文标题】子 XElement 的索引【英文标题】:Index of Child XElement 【发布时间】:2011-10-03 12:46:33 【问题描述】:给定一个XElement
,有没有办法在父容器中找出该元素的索引?
我知道一定有,但我就是想不通!
谢谢!
【问题讨论】:
主要问题是 XPath 查询正在修改 XML 文档结构... 【参考方案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)
【讨论】:
以上是关于子 XElement 的索引的主要内容,如果未能解决你的问题,请参考以下文章
如何确定 XElement.Elements() 是不是包含具有特定名称的节点?