■ XmlNamespaceMapping 요소를 사용하여 XML 네임스페이스를 바인딩하는 방법을 보여줍니다.

테스트 프로젝트.zip
0.01MB
MainWindow.xaml
<Window x:Class="TestProject.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Width="800"
Height="600"
Title="TestProject"
FontFamily="나눔고딕코딩"
FontSize="16">
<Window.Resources>
<XmlNamespaceMappingCollection x:Key="XmlNamespaceMappingCollectionKey">
<XmlNamespaceMapping
Prefix="dc"
Uri="http://purl.org/dc/elements/1.1/" />
</XmlNamespaceMappingCollection>
<XmlDataProvider x:Key="XmlDataProviderKey"
XmlNamespaceManager="{StaticResource XmlNamespaceMappingCollectionKey}"
XPath="rss/channel/item"
Source="https://icodebroker.rss" />
<DataTemplate x:Key="DataTemplateKey">
<Border
BorderThickness="1"
BorderBrush="Gray">
<Grid 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, FallbackValue=""}" />
</Grid>
</Border>
</DataTemplate>
</Window.Resources>
<ListBox
Margin="10"
Background="Honeydew"
ItemTemplate="{StaticResource DataTemplateKey}"
ItemsSource="{Binding Source={StaticResource XmlDataProviderKey}}" />
</Window>
※ XmlDataProvider 요소의 Source 속성에 기존 URL이 없어져서 제 블로그 RSS URL을 설정했는데 데이터에 dc:date 요소가 없습니다.