2012-06-29 62 views
0

如果我有這樣的一個XML文件:如何使用xpath過濾xml數據?

<?xml version="1.0" encoding="utf-8" ?> 
<Employees> 
    <Employee Department="Sales"> 
     <Name>David</Name> 
     <Salary>20000</Salary> 
    </Employee> 
    <Employee Department="Finance"> 
     <Name>Simon</Name> 
     <Salary>18000</Salary> 
    </Employee> 
    <Employee Department="Accounts"> 
     <Name>Peter</Name> 
     <Salary>22000</Salary> 
    </Employee> 
</Employees> 

,然後將數據正在顯示一箇中繼器中,像這樣:

<asp:Repeater ID="Repeater1" runat="server" DataSourceID="XmlDataSource1"> 
    <ItemTemplate> 
     <strong> 
    <%# XPath("@Department")%><br /> 
    </strong> 
    - Name: <%#XPath("Name")%><br /> 
    - Salary: <%#XPath("Salary")%><br /> 
    </ItemTemplate> 
</asp:Repeater> 

我怎麼可能只顯示該僱員的銷售部?這是在一個asp.net web應用程序。

回答

1

背景由數據源上使用XPath嘗試此。

<asp:XmlDataSource DataFile="data.xml" runat="server" ID="XmlDataSource1" XPath="/Employees/Employee[@Department='Sales']" /> 

<asp:Repeater ID="Repeater1" runat="server" DataSourceID="XmlDataSource1"> 
    <ItemTemplate> 
    <strong>Department: <%# XPath("@Department")%><br /></strong> 
    - Name: <%#XPath("Name")%><br /> 
    - Salary: <%#XPath("Salary")%><br /> 
    </ItemTemplate> 
</asp:Repeater> 

輸出

Department: Sales 
- Name: David 
- Salary: 20000 
+0

是的,這正是我一直在尋找,不可能弄清楚如何篩選,並得到所有的值。我的查詢只是返回相同的。謝謝! –

0

數據中使用所述過濾器作爲數據源 中繼器,這可能似乎無法