Uwaga
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Przykład
W tym przykładzie pokazano, jak obsługiwać przestrzenie nazw określone w źródle powiązania XML.
Jeśli dane XML mają następującą definicję przestrzeni nazw XML:
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/">
Możesz użyć elementu XmlNamespaceMapping, aby odwzorować przestrzeń nazw na Prefix, jak w poniższym przykładzie. Następnie możesz użyć Prefix, aby odwołać się do przestrzeni nazw XML. W tym przykładzie
<StackPanel.Resources>
<XmlNamespaceMappingCollection x:Key="mapping">
<XmlNamespaceMapping Uri="http://purl.org/dc/elements/1.1/" Prefix="dc" />
</XmlNamespaceMappingCollection>
<XmlDataProvider Source="http://msdn.microsoft.com/subscriptions/rss.xml"
XmlNamespaceManager="{StaticResource mapping}"
XPath="rss/channel/item" x:Key="provider"/>
<DataTemplate x:Key="dataTemplate">
<Border BorderThickness="1" BorderBrush="Gray">
<Grid Width="600" Height="50">
<Grid.RowDefinitions>
<RowDefinition Height="25"/>
<RowDefinition Height="25"/>
</Grid.RowDefinitions>
<TextBlock Grid.Row="0" Text="{Binding XPath=title}" />
<TextBlock Grid.Row="1" Text="{Binding XPath=dc:date}" />
</Grid>
</Border>
</DataTemplate>
</StackPanel.Resources>
<ListBox
Width="600"
Height="600"
Background="Honeydew"
ItemsSource="{Binding Source={StaticResource provider}}"
ItemTemplate="{StaticResource dataTemplate}"/>
Należy pamiętać, że zaspecyfikowane Prefix nie musi być zgodne z tym używanym w źródle XML; nawet jeśli prefiks zmienia się w źródle XML, mapowanie nadal działa.
W tym konkretnym przykładzie dane XML pochodzą z usługi internetowej, ale element XmlNamespaceMapping działa również z wbudowanymi danymi XML lub XML w osadzonym pliku.
Zobacz też
- Powiązanie z danymi XML przy użyciu XMLDataProvider i zapytań XPath
- omówienie powiązania danych
- Tematy poradnikowe
.NET Desktop feedback