Вы можете использовать метод NodesBeforeSelf, чтобы сделать это:
XElement root = new XElement("root",
new XElement("one",
new XElement("oneA"),
new XElement("oneB")
),
new XElement("two"),
new XElement("three")
);
foreach (XElement x in root.Elements())
{
Console.WriteLine(x.Name);
Console.WriteLine(x.NodesBeforeSelf().Count());
}
Обновление: если вам действительно нужен метод Position, просто добавьте метод расширения.
public static class ExMethods
{
public static int Position(this XNode node)
{
return node.NodesBeforeSelf().Count();
}
}
Теперь вы можете просто вызвать x.Position (). :)