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
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 data binding XPath in fase di esecuzione per restituire un elenco di nodi, usando l'oggetto IXmlNamespaceResolver specificato per risolvere i prefissi degli spazi dei nomi nell'espressione XPath. |
Commenti
È possibile usare il metodo di overload Select dichiarativamente se si vuole semplificare il recupero di un set di nodi usando una query XPath. A tale scopo, è necessario inserire i <%# and %> tag, usati anche in ASP.NET data binding standard, 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 oggetto valido nel linguaggio specificato della pagina.
- xPath
- String
Query XPath che recupera un elenco di nodi.
Restituisce
Elenco di nodi IEnumerable.
Eccezioni
Il parametro container
o il parametro xpath
è null
.
L'oggetto specificato da container
non è un elemento IXPathNavigable.
Al nodo corrente dell'elemento XPathNodeIterator non è associato un nodo XML.
Esempio
Nell'esempio di codice seguente viene illustrato come usare un controllo con un XmlDataSource controllo modello Repeater per visualizzare i dati XML. In questo esempio sono presenti due parti:
Pagina Web Forms che visualizza i dati XML.
File XML contenente i dati.
La prima parte dell'esempio mostra una pagina di Web Forms che visualizza i dati XML accessibili tramite un XmlDataSource controllo. Un Repeater controllo usa la sintassi semplificata Eval(Object, String) del metodo per associare agli elementi di dati all'interno del documento XML rappresentato XmlDataSource . Usa il Select(Object, String) metodo per recuperare un IEnumerable elenco e assegnarlo come proprietà associata DataSource in ritardo 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, usato come origine dei dati visualizzati nella pagina Web Forms definita sopra.
<?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 metodo dichiarativo se si vuole semplificare il Select(Object, String) recupero di un set di nodi usando una query XPath. A tale scopo, è necessario inserire i <%# and %> tag, usati anche in ASP.NET data binding standard, 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 data binding XPath in fase di esecuzione per restituire un elenco di nodi, usando l'oggetto IXmlNamespaceResolver specificato per risolvere i prefissi degli spazi 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 oggetto valido nel linguaggio specificato della pagina.
- xPath
- String
Query XPath che recupera un elenco di nodi.
- resolver
- IXmlNamespaceResolver
Oggetto IXmlNamespaceResolver usato per risolvere i prefissi degli spazi dei nomi nell'espressione XPath.
Restituisce
Elenco di nodi IEnumerable.
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 <%# and %> tag, che vengono 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
.