Hi Peter,
wie immer führen viele Wege nach Rom...
So wie dein XML im Augenblick modeliert ist, verwundert es nicht, das die Lösung nicht gleich auf der Hand liegt.
Wenn du unter Sportarten einzelne Sportart-Elemente definieren würdest, wäre das wesentlich sauberer und vor
allem einfacher auf die jeweiligen Elemente zuzugreifen, anstelle umständliche XPath-Filterkriterien zu definieren.
...anyway...Vielleicht gibt es ja Gründe dafür...
Mit etwas XPath-Gehuddel könnte die Lösung deinen Wünschen entsprechend jedenfalls so ausschauen:
...
<Grid>
<Grid.Resources>
<XmlDataProvider x:Key="myXMLData" XPath="Sportarten/Art">
<x:XData>
<Sportarten xmlns="">
<Art Name1="Schwimmen" Name2="Laufen" Name3="Springen" OtherAttribute="Foo"/>
</Sportarten>
</x:XData>
</XmlDataProvider>
</Grid.Resources>
<ListBox ItemsSource="{Binding Source={StaticResource myXMLData}, XPath=@*[contains(local-name()\,\'Name\')]}"/>
</Grid>
...
Gruß
Boris