Procedura: utilizzare gli spazi dei nomi XML nell'associazione dati
Esempio
In questo esempio viene illustrato come gestire gli spazi dei nomi specificati nell'origine dell'associazione XML.
Se i dati XML hanno la definizione dello spazio dei nomi XML seguente:
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/">
È possibile usare l'elemento XmlNamespaceMapping per eseguire il mapping dello spazio dei nomi a un Prefixoggetto , come nell'esempio seguente. È quindi possibile utilizzare per Prefix fare riferimento allo spazio dei nomi XML. ListBox In questo esempio vengono visualizzati il titolo e dc:date di ogni elemento.
<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}"/>
Si noti che l'oggetto Prefix specificato non deve corrispondere a quello utilizzato nell'origine XML. Se il prefisso cambia nell'origine XML, il mapping continua a funzionare.
In questo particolare esempio, i dati XML provengono da un servizio Web, ma l'elemento XmlNamespaceMapping funziona anche con dati XML o XML inline in un file incorporato.
Vedi anche
.NET Desktop feedback
Commenti e suggerimenti
https://aka.ms/ContentUserFeedback.
Presto disponibile: Nel corso del 2024 verranno gradualmente disattivati i problemi di GitHub come meccanismo di feedback per il contenuto e ciò verrà sostituito con un nuovo sistema di feedback. Per altre informazioni, vedereInvia e visualizza il feedback per