Gewusst wie: Verwenden von XML-Namespaces bei der Datenbindung
Beispiel
Dieses Beispiel zeigt, wie in der XML-Bindungsquelle angegebene Namespaces behandelt werden.
Wenn Ihre XML-Daten die folgende XML-Namespacedefinition enthalten:
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/">
Sie können das XmlNamespaceMapping-Element verwenden, um einen Namespace wie im folgenden Beispiel einem Prefix zuzuordnen. Sie können dann das Prefix verwenden, um auf den XML-Namespace zu verweisen. Das ListBox in diesem Beispiel zeigt title und dc:date jedes Elements an.
<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}"/>
Beachten Sie, dass das angegebene Prefix nicht mit dem in der XML-Quelle verwendeten Präfix übereinstimmen muss. Wenn das Präfix in der XML-Quelle geändert wird, funktioniert die Zuordnung weiterhin.
Bei diesem speziellen Beispiel stammen XML-Daten aus einem Webdienst, aber das XmlNamespaceMapping-Element funktioniert auch mit Inline-XML-Daten oder XML-Daten in einer eingebetteten Datei.
Weitere Informationen
.NET Desktop feedback
Feedback
https://aka.ms/ContentUserFeedback.
Bald verfügbar: Im Laufe des Jahres 2024 werden wir GitHub-Issues stufenweise als Feedbackmechanismus für Inhalte abbauen und durch ein neues Feedbacksystem ersetzen. Weitere Informationen finden Sie unterFeedback senden und anzeigen für