XPathBinder.Select Metodo
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Usa un'espressione di data binding XPath in fase di esecuzione per restituire un elenco di nodi.
Overload
| Nome | Descrizione |
|---|---|
| Select(Object, String) |
Usa un'espressione di data binding XPath in fase di esecuzione per restituire un elenco di nodi. |
| Select(Object, String, IXmlNamespaceResolver) |
Usa un'espressione di associazione dati XPath in fase di esecuzione per restituire un elenco di nodi, usando l'oggetto IXmlNamespaceResolver specificato per risolvere i prefissi dello spazio dei nomi nell'espressione XPath. |
Commenti
È possibile usare il metodo di Select overload in modo dichiarativo se si vuole semplificare il recupero di un set di nodi usando una query XPath. A tale scopo, è necessario inserire i < tag%# e %> , usati anche nel data binding standard ASP.NET, intorno alla query XPath.
Select(Object, String)
Usa un'espressione di data binding XPath in fase di esecuzione per restituire un elenco di nodi.
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
Parametri
- container
- Object
Riferimento all'oggetto IXPathNavigable rispetto al quale viene valutata l'espressione. Deve essere un identificatore di oggetto valido nella lingua specificata della pagina.
- xPath
- String
Query XPath che recupera un elenco di nodi.
Restituisce
Elenco IEnumerable di nodi.
Eccezioni
Il container parametro o xpath è null.
L'oggetto specificato da container non è un oggetto IXPathNavigable.
Il nodo corrente di non dispone di XPathNodeIterator un nodo XML associato.
Esempio
Nell'esempio di codice seguente viene illustrato come utilizzare un XmlDataSource controllo con un controllo basato su Repeater modelli per visualizzare i dati XML. Questo esempio ha due parti:
Pagina Web Form che visualizza i dati XML.
File XML contenente i dati.
La prima parte dell'esempio mostra una pagina Web Form che visualizza i dati XML a cui si accede tramite un XmlDataSource controllo . Un Repeater controllo utilizza la sintassi semplificata Eval(Object, String) del metodo per l'associazione agli elementi di dati all'interno del documento XML rappresentato dall'oggetto XmlDataSource . Usa il Select(Object, String) metodo per recuperare un IEnumerable elenco e assegnarlo come proprietà ad associazione DataSource tardiva per il Repeater controllo.
<%@ 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>
Il secondo esempio fornisce il file XML, Order.xml, utilizzato come origine dei dati visualizzati nella pagina Web Form definita in precedenza.
<?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>
Commenti
È possibile usare il Select(Object, String) metodo in modo dichiarativo se si vuole semplificare il recupero di un set di nodi usando una query XPath. A tale scopo, è necessario inserire i < tag%# e %> , usati anche nel data binding standard ASP.NET, intorno alla query XPath.
Per uno degli elenchi ASP.NET controlli server, ad esempio DataList, DataGrido Repeater, il container parametro deve essere Container.DataItem.
Si applica a
Select(Object, String, IXmlNamespaceResolver)
Usa un'espressione di associazione dati XPath in fase di esecuzione per restituire un elenco di nodi, usando l'oggetto IXmlNamespaceResolver specificato per risolvere i prefissi dello spazio dei nomi nell'espressione 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
Parametri
- container
- Object
Riferimento all'oggetto IXPathNavigable rispetto al quale viene valutata l'espressione. Deve essere un identificatore di oggetto valido nella lingua specificata della pagina.
- xPath
- String
Query XPath che recupera un elenco di nodi.
- resolver
- IXmlNamespaceResolver
Oggetto IXmlNamespaceResolver utilizzato per risolvere i prefissi dello spazio dei nomi nell'espressione XPath.
Restituisce
Elenco IEnumerable di nodi.
Commenti
È possibile usare il Select metodo in modo dichiarativo se si vuole semplificare il recupero di un set di nodi usando una query XPath. A tale scopo, è necessario inserire i < tag%# e %> , usati anche nel data binding standard ASP.NET, intorno alla query XPath e a un IXmlNamespaceResolver oggetto per risolvere il riferimento allo spazio dei nomi.
Per uno degli elenchi ASP.NET controlli server, ad esempio DataList, DataGrido Repeater, il container parametro deve essere Container.DataItem.