如何使用 XmlDataSource 配置转发器控件以仅显示特定元素值的数据?

How do i configure a repeater control to display data only of a particular element value with XmlDataSource?

所以在我开始之前,这是我的 xml 文件中的一些数据

    <item>
    <menuType>Lunch</menuType>
    <itemName>Sweet Caramel</itemName>
    <price>30</price>
    <preparationTime>20</preparationTime>
</item>
<item>
    <menuType>Dinner</menuType>
    <itemName>Cocoa Swirl Cheesecake</itemName>
    <price>9</price>
    <preparationTime>30</preparationTime>
</item>
<item>
    <menuType>Lunch</menuType>
    <itemName>Spanish Monkfish</itemName>
    <price>10</price>
    <preparationTime>30</preparationTime>
</item>
<item>
    <menuType>Dinner</menuType>
    <itemName>Ice Cream</itemName>
    <price>20</price>
    <preparationTime>10</preparationTime>
</item>
<item>
    <menuType>Lunch</menuType>
    <itemName>Complete Fruit Salad</itemName>
    <price>10</price>
    <preparationTime>15</preparationTime>
</item>

所以我的问题是,如何配置我的转发器控件以仅显示 menuType 值为 'Lunch'

的项目

我明白了。您需要在 XmlDataSource XPath 属性 中设置过滤器。 XPath="/items/item[menuType='Lunch']"

<asp:XmlDataSource ID="XmlDataSource1" runat="server" DataFile="menuItems.xml" XPath="/items/item[menuType='Lunch']"></asp:XmlDataSource>

<asp:Repeater ID="Repeater1" runat="server" DataSourceID="XmlDataSource1">
    <ItemTemplate>
        <%# XPath("menuType") %>
        <br />
        <%# XPath("itemName") %>
        <br />
        <%# XPath("price") %>
        <br />
        <%# XPath("preparationTime") %>
        <hr />
    </ItemTemplate>
</asp:Repeater>