Condividi tramite


XPathBinder.Select Metodo

Definizione

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.

Si applica a