XPathBinder.Select Metoda
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
Używa wyrażenia powiązania danych XPath w czasie wykonywania, aby zwrócić listę węzłów.
Przeciążenia
Select(Object, String) |
Używa wyrażenia powiązania danych XPath w czasie wykonywania, aby zwrócić listę węzłów. |
Select(Object, String, IXmlNamespaceResolver) |
Używa wyrażenia powiązania danych XPath w czasie wykonywania, aby zwrócić listę węzłów przy użyciu obiektu określonego IXmlNamespaceResolver do rozpoznawania prefiksów przestrzeni nazw w wyrażeniu XPath. |
Uwagi
Można użyć metody przeciążonej Select deklaratywnie, jeśli chcesz uprościć pobieranie zestawu węzłów przy użyciu zapytania XPath. W tym celu należy umieścić tagi, które są również używane w standardowym powiązaniu <%# and %> danych ASP.NET, wokół zapytania XPath.
Select(Object, String)
Używa wyrażenia powiązania danych XPath w czasie wykonywania, aby zwrócić listę węzłów.
public:
static System::Collections::IEnumerable ^ Select(System::Object ^ container, System::String ^ xPath);
public static System.Collections.IEnumerable Select (object container, string xPath);
static member Select : obj * string -> System.Collections.IEnumerable
Public Shared Function Select (container As Object, xPath As String) As IEnumerable
Parametry
- container
- Object
Odwołanie IXPathNavigable do obiektu, względem którego jest obliczane wyrażenie. Musi to być prawidłowy identyfikator obiektu w określonym języku strony.
- xPath
- String
Zapytanie XPath, które pobiera listę węzłów.
Zwraca
Lista IEnumerable węzłów.
Wyjątki
Parametr container
or xpath
to null
.
Obiekt określony przez container
element nie jest obiektem IXPathNavigable.
Bieżący węzeł węzła XPathNodeIterator nie ma skojarzonego węzła XML.
Przykłady
W poniższym przykładzie kodu pokazano, jak używać kontrolki XmlDataSource z kontrolką szablonu Repeater do wyświetlania danych XML. Ten przykład ma dwie części:
Strona Web Forms zawierająca dane XML.
Plik XML zawierający dane.
Pierwsza część przykładu przedstawia stronę Web Forms, która wyświetla dane XML dostępne za pośrednictwem kontrolkiXmlDataSource. Kontrolka Repeater używa uproszczonej Eval(Object, String) składni metody do powiązania z elementami danych w dokumencie XML, który XmlDataSource reprezentuje. Używa Select(Object, String) metody do pobierania IEnumerable listy i przypisywania jej jako właściwości opóźnionej DataSource dla kontrolki Repeater .
<%@ Page Language="C#" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>Order</title>
</head>
<body>
<form id="form1" runat="server">
<asp:XmlDataSource
runat="server"
id="XmlDataSource1"
XPath="orders/order"
DataFile="order.xml" />
<asp:Repeater ID="Repeater1"
runat="server"
DataSourceID="XmlDataSource1">
<ItemTemplate>
<h2>Order</h2>
<table>
<tr>
<td>Customer</td>
<td><%#XPath("customer/@id")%></td>
<td><%#XPath("customername/firstn")%></td>
<td><%#XPath("customername/lastn")%></td>
</tr>
<tr>
<td>Ship To</td>
<td><%#XPath("shipaddress/address1")%></font></td>
<td><%#XPath("shipaddress/city")%></td>
<td><%#XPath("shipaddress/state")%>,
<%#XPath("shipaddress/zip")%></td>
</tr>
</table>
<h3>Order Summary</h3>
<asp:Repeater ID="Repeater2"
DataSource='<%#XPathSelect("summary/item")%>'
runat="server">
<ItemTemplate>
<b><%#XPath("@dept")%></b> -
<%#XPath(".")%><br />
</ItemTemplate>
</asp:Repeater>
<hr />
</ItemTemplate>
</asp:Repeater>
</form>
</body>
</html>
<%@ Page Language="VB" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>Order</title>
</head>
<body>
<form id="form1" runat="server">
<asp:XmlDataSource
runat="server"
id="XmlDataSource1"
XPath="orders/order"
DataFile="order.xml" />
<asp:Repeater ID="Repeater1"
runat="server"
DataSourceID="XmlDataSource1">
<ItemTemplate>
<h2>Order</h2>
<table>
<tr>
<td>Customer</td>
<td><%#XPath("customer/@id")%></td>
<td><%#XPath("customername/firstn")%></td>
<td><%#XPath("customername/lastn")%></td>
</tr>
<tr>
<td>Ship To</td>
<td><%#XPath("shipaddress/address1")%></font></td>
<td><%#XPath("shipaddress/city")%></td>
<td><%#XPath("shipaddress/state")%>,
<%#XPath("shipaddress/zip")%></td>
</tr>
</table>
<h3>Order Summary</h3>
<asp:Repeater ID="Repeater2"
DataSource='<%#XPathSelect("summary/item")%>'
runat="server">
<ItemTemplate>
<b><%#XPath("@dept")%></b> -
<%#XPath(".")%><br />
</ItemTemplate>
</asp:Repeater>
<hr />
</ItemTemplate>
</asp:Repeater>
</form>
</body>
</html>
Drugi przykład zawiera plik XML, Order.xml, który jest używany jako źródło danych wyświetlanych na stronie Web Forms zdefiniowanej powyżej.
<?xml version="1.0" encoding="iso-8859-1"?>
<orders>
<order>
<customer id="12345" />
<customername>
<firstn>John</firstn>
<lastn>Doe</lastn>
</customername>
<transaction id="12345" />
<shipaddress>
<address1>1234 Tenth Avenue</address1>
<city>Bellevue</city>
<state>Washington</state>
<zip>98001</zip>
</shipaddress>
<summary>
<item dept="tools">screwdriver</item>
<item dept="tools">hammer</item>
<item dept="plumbing">fixture</item>
</summary>
</order>
</orders>
Uwagi
Możesz użyć metody deklaratywnej Select(Object, String) , jeśli chcesz uprościć pobieranie zestawu węzłów przy użyciu zapytania XPath. W tym celu należy umieścić tagi, które są również używane w standardowym powiązaniu <%# and %> danych ASP.NET, wokół zapytania XPath.
Dla dowolnej listy ASP.NET kontrolek serwera, takich jak DataList, DataGridlub Repeater, container
parametr powinien mieć wartość Container.DataItem
.
Dotyczy
Select(Object, String, IXmlNamespaceResolver)
Używa wyrażenia powiązania danych XPath w czasie wykonywania, aby zwrócić listę węzłów przy użyciu obiektu określonego IXmlNamespaceResolver do rozpoznawania prefiksów przestrzeni nazw w wyrażeniu XPath.
public:
static System::Collections::IEnumerable ^ Select(System::Object ^ container, System::String ^ xPath, System::Xml::IXmlNamespaceResolver ^ resolver);
public static System.Collections.IEnumerable Select (object container, string xPath, System.Xml.IXmlNamespaceResolver resolver);
static member Select : obj * string * System.Xml.IXmlNamespaceResolver -> System.Collections.IEnumerable
Public Shared Function Select (container As Object, xPath As String, resolver As IXmlNamespaceResolver) As IEnumerable
Parametry
- container
- Object
Odwołanie IXPathNavigable do obiektu, względem którego jest obliczane wyrażenie. Musi to być prawidłowy identyfikator obiektu w określonym języku strony.
- xPath
- String
Zapytanie XPath, które pobiera listę węzłów.
- resolver
- IXmlNamespaceResolver
IXmlNamespaceResolver Obiekt używany do rozpoznawania prefiksów przestrzeni nazw w wyrażeniu XPath.
Zwraca
Lista IEnumerable węzłów.
Uwagi
Możesz użyć metody deklaratywnej Select , jeśli chcesz uprościć pobieranie zestawu węzłów przy użyciu zapytania XPath. W tym celu należy umieścić <%# and %> tagi, które są również używane w standardowym powiązaniu danych ASP.NET, wokół zapytania XPath i IXmlNamespaceResolver obiektu w celu rozpoznania odwołania do przestrzeni nazw.
Dla dowolnej z list ASP.NET kontrolek serwera, takich jak DataList, DataGridlub Repeater, container
parametr powinien mieć wartość Container.DataItem
.