操作說明:在資料繫結中使用 XML 命名空間
範例
此範例示範如何處理 XML 系結來源中指定的命名空間。
如果您的 XML 資料具有下列 XML 命名空間定義:
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/">
您可以使用 XmlNamespaceMapping 元素將命名空間對應至 Prefix ,如下列範例所示。 然後 Prefix ,您可以使用 來參考 XML 命名空間。 ListBox此範例中的 會顯示 每個 專案的 標題 和 dc:date 。
<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}"/>
請注意, Prefix 您指定的 不需要符合 XML 來源中使用的前置詞;如果 XML 來源中的前置詞變更,則對應仍可運作。
在此特定範例中,XML 資料來自 Web 服務,但 XmlNamespaceMapping 專案也適用于內嵌檔案中的內嵌 XML 或 XML 資料。
另請參閱
意見反應
https://aka.ms/ContentUserFeedback。
即將登場:在 2024 年,我們將逐步淘汰 GitHub 問題作為內容的意見反應機制,並將它取代為新的意見反應系統。 如需詳細資訊,請參閱:提交並檢視相關的意見反應