Postupy: Použití oborů názvů XML v datové vazbě
Příklad
Tento příklad ukazuje, jak zpracovat obory názvů zadané ve zdroji vazby XML.
Pokud data XML mají následující definici oboru názvů XML:
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/">
Element XmlNamespaceMapping můžete použít k mapování oboru názvů na , Prefixjako v následujícím příkladu. Potom můžete použít Prefix odkaz na obor názvů XML. V ListBox tomto příkladu se zobrazí název a dc:date každé položky.
<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}"/>
Nezapomeňte, že Prefix zadaná hodnota nemusí odpovídat té použité ve zdroji XML. Pokud se předpona změní ve zdroji XML, mapování stále funguje.
V tomto konkrétním příkladu data XML pocházejí z webové služby, ale XmlNamespaceMapping element funguje také s vloženými daty XML nebo XML ve vloženém souboru.
Viz také
.NET Desktop feedback
Váš názor
https://aka.ms/ContentUserFeedback.
Připravujeme: V průběhu roku 2024 budeme postupně vyřazovat problémy z GitHub coby mechanismus zpětné vazby pro obsah a nahrazovat ho novým systémem zpětné vazby. Další informace naleznete v tématu:Odeslat a zobrazit názory pro