Sie könnten die NodesBeforeSelf Methode, dies zu tun:
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());
}
Update: Wenn Sie wirklich nur eine Position Methode wollen, nur eine Erweiterungsmethode hinzufügen.
public static class ExMethods
{
public static int Position(this XNode node)
{
return node.NodesBeforeSelf().Count();
}
}
Jetzt können Sie einfach x.Position() aufrufen. :)
Dank tun konnte, x.NodesBeforeSelf(). Count() einfach funktioniert, groß. Wünschte, sie hätten es Position über der XElement-Klasse genannt. – Vin
Überschreiben Sie meinen vorherigen Kommentar. Überprüfen Sie meine Antwort unten. – Vin