Se puede usar el método NodesBeforeSelf para hacer esto:
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());
}
Actualización: Si realmente quiere un método de posición, sólo tiene que añadir un método de extensión.
public static class ExMethods
{
public static int Position(this XNode node)
{
return node.NodesBeforeSelf().Count();
}
}
Ahora puede simplemente llamar a x.Position(). :)
Gracias, x.NodesBeforeSelf(). Count() simplemente funciona, muy bien. Ojalá lo hubieran llamado Posición en la parte superior de la clase XElement. – Vin
Anular mi comentario anterior. Verifique mi respuesta a continuación. – Vin