Condividi tramite


XPathBinder.Select Metodo

Definizione

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

IEnumerable

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

IEnumerable

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.

Si applica a