كيفية القيام بما يلي: استخدم مساحات أسماء 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="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 باستخدام XMLDataProvider واستعلامات XPath

المبادئ

نظرة عامة لربط البيانات

موارد أخرى

المواضيع الإجرائية لربط البيانات