2017-02-23 61 views
0

我有一个ListBox和一个XMLDataProvider,我想过滤一个节点的特定值。XPath过滤器的值

我试过以下,但它会再次返回完整的<ITEMS>

<XmlDataProvider x:Key="ItemDataSource" XPath="./ITEMS[ITEM[./PROPERTY='value']]" Source="data.xml"> 
</XmlDataProvider> 

这是XML文件:

<ITEMS> 
    <ITEM> 
    <PROPERTY>value</PROPERTY> 
    </ITEM> 
    <ITEM> 
    <PROPERTY>other value</PROPERTY> 
    </ITEM> 
</ITEMS> 

./ITEMS/ITEM[./PROPERTY/text()='value'] 的作品,但因为它不是由<ITEMS>包裹拒不显示数据。

+0

您期望输出什么? 'ITEMS','ITEM' ......究竟是什么?还要注意'./ITEMS/ITEMS [./ PROPERTY/text()='value']'不能用作'ITEMS'没有子项'ITEMS' ...你的意思是'./ITEMS/ITEM [ ./PROPERTY/text()= '值']'? – Andersson

+0

对不起,只是看到我的错误,并编辑它 –

+0

我希望与只有匹配我的搜索,或任何方式只把那些放在列表框 –

回答

0

我发现解决方案使用./ITEMS/ITEM[./PROPERTY/text()='value']我需要在ItemsSource中取消XPath的设置。