Freigeben über


Gewusst wie: Verwenden von XML-Namespaces bei der Datenbindung

Beispiel

Dieses Beispiel zeigt, wie in der XMLBindungsquelle angegebene Namespaces behandelt werden.

Wenn die XML-Daten die folgende XML-Namespacedefinition aufweisen:

<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/">

Mit dem XmlNamespaceMapping-Element können Sie den Namespace einem Prefix zuordnen, wie im folgenden Beispiel. Sie können dann mit dem Prefix auf den XML-Namespace verweisen. Das ListBox in diesem Beispiel zeigt Titel 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="https://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.

In diesem speziellen Beispiel stammen die XML-Daten aus einem Webdienst, das XmlNamespaceMapping-Element funktioniert jedoch auch mit Inline-XML oder XML-Daten in einer eingebetteten Datei.

Siehe auch

Aufgaben

Gewusst wie: Binden an XML-Daten mithilfe von XMLDataProvider und XPath-Abfragen

Konzepte

Übersicht über Datenbindung

Weitere Ressourcen

Gewusst-wie-Themen zur Datenbindung