Практическое руководство. Использование пространства имен XML при связывании данных
Обновлен: Ноябрь 2007
Пример
В этом примере демонстрируется обработка пространств имен, указанных в XMLисточнике привязки.
Если данные XML имеют следующее определение пространства имен XML:
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/">
Элемент XmlNamespaceMapping можно использовать для сопоставления пространства имен и Prefix, как показано в следующем примере. Затем можно использовать Prefix для ссылки на пространство имен XML. В этом примере элемент управления ListBox отображает title и dc:date из каждого item.
<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}"/>
Обратите внимание на то, что указанный Prefix не обязан соответствовать тому, который используется в источнике XML; если префикс изменяется в источнике XML, то сопоставление по-прежнему работает.
В этом примере данные XML поступают из веб-службы, но элемент XmlNamespaceMapping также работает со встроенными данными XML и XML во внедренном файле.
Полный пример см. в разделе Пример привязки с использованием пространств имен XML.
См. также
Задачи
Практическое руководство. Привязка к данным xml с помощью XMLDataProvider и запросов XPath
Основные понятия
Общие сведения о связывании данных