我正在尝试使用XAML读取XML文件并将其显示在应用程序上。这是我的XML。
<?xml version="1.0" encoding="ISO8859-1" ?>
<CATALOG>
<PLANT>
<COMMON>Bloodroot</COMMON>
<BOTANICAL>Sanguinaria canadensis</BOTANICAL>
<ZONE>4</ZONE>
<LIGHT>Sun</LIGHT>
<PRICE>$2.44</PRICE>
<AVAILABILITY>031599</AVAILABILITY>
</PLANT>
<PLANT>
<COMMON>Columbine</COMMON>
<BOTANICAL>Aquilegia canadensis</BOTANICAL>
<ZONE>3</ZONE>
<LIGHT>Shade</LIGHT>
<PRICE>$9.37</PRICE>
<AVAILABILITY>030699</AVAILABILITY>
</PLANT>
这里我只需要显示LIGHT = Sun的COMMON内容
我尝试了这个,但是没有用
<Grid.Resources>
<XmlDataProvider x:Key="CatalogusDataSource" Source="Data\catalogus.xml" XPath="CATALOG"/>
<DataTemplate x:Key="nameItemTemplate">
<Label Content="{Binding XPath=*}"/>
</DataTemplate>
</Grid.Resources>
....
<ScrollViewer Grid.Column="0" Grid.Row="1">
<ListBox Name="ListBoxSchaduw"
ItemsSource="{Binding Source={StaticResource CatalogusDataSource},
XPath=/CATALOG/PLANT[PRICE\=\Sun]/COMMON}"
ItemTemplate="{StaticResource nameItemTemplate}" />
</ScrollViewer>
我不知道我在做什么错
答案 0 :(得分:1)
您说过,您想选择COMMON
为LIGHT
的{{1}}元素,但是您的XPath正在按'Sun'
进行过滤,而不是字符串值{{1 }}中有一个未引用的PRICE
,它将被视为好像正在比较名为'Sun'
的元素一样。
将XPath更改为:
Sun