Nyelv

XPathBinder.Select Metódus

Definíció

Futtatáskor XPath-adatkötési kifejezést használ a csomópontok listájának visszaadásához.

Túlterhelések

Name Description
Select(Object, String)

Futtatáskor XPath-adatkötési kifejezést használ a csomópontok listájának visszaadásához.

Select(Object, String, IXmlNamespaceResolver)

Futtatáskor egy XPath adatkötési kifejezést használ a csomópontok listájának visszaadásához az IXmlNamespaceResolver XPath-kifejezés névtérelőtagjainak feloldásához megadott objektummal.

Megjegyzések

A túlterhelt Select metódust deklaratív módon is használhatja, ha egy csomópontkészlet lekérését szeretné egyszerűsíteni egy XPath-lekérdezés használatával. Ehhez el kell helyeznie a <%# és %> címkéket, amelyeket a standard ASP.NET adatkötésben is használnak az XPath-lekérdezés köré.

Select(Object, String)

Futtatáskor XPath-adatkötési kifejezést használ a csomópontok listájának visszaadásához.

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

Paraméterek

container
Object

Az IXPathNavigable objektumhivatkozás, amely alapján a kifejezés kiértékelése történik. Ennek érvényes objektumazonosítónak kell lennie a lap megadott nyelvén.

xPath
String

A csomópontok listáját lekérő XPath-lekérdezés.

Válaszok

Csomópontok IEnumerable listája.

Kivételek

A container vagy xpath paraméter a következő null: .

A megadott container objektum nem egy IXPathNavigable.

Az aktuális csomópont XPathNodeIterator nem rendelkezik társított XML-csomópontokkal.

Példák

Az alábbi példakód bemutatja, hogyan jeleníthet meg XML-adatokat sablonos XmlDataSourceRepeater vezérlővel rendelkező vezérlőkkel. Ez a példa két részből áll:

  • Xml-adatokat megjelenítő weblap.

  • Az adatokat tartalmazó XML-fájl.

A példa első része egy olyan weblapot mutat be, amely egy vezérlőelemen keresztül XmlDataSource elért XML-adatokat jelenít meg. A Repeater vezérlőelemek az egyszerűsített Eval(Object, String) metódusszintaxissal kötnek az xml-dokumentumban XmlDataSource szereplő adatelemekhez. A metódussal Select(Object, String) lekér egy IEnumerable listát, és késői kötött DataSource tulajdonságként rendeli hozzá a Repeater vezérlőelemhez.

<%@ 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>

A második példa a fent definiált Űrlapok lapon megjelenített adatok forrásaként használt XML-fájlt Order.xml.

<?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>

Megjegyzések

A metódust deklaratív módon is használhatja Select(Object, String) , ha egy csomópontkészlet lekérését szeretné egyszerűsíteni egy XPath-lekérdezés használatával. Ehhez el kell helyeznie a <%# és %> címkéket, amelyeket a standard ASP.NET adatkötésben is használnak az XPath-lekérdezés köré.

A lista ASP.NET kiszolgálóvezérlők ( például DataList, DataGrid vagy Repeater) esetében a container paraméternek Container.DataItem kell lennie.

A következőre érvényes:

Select(Object, String, IXmlNamespaceResolver)

Futtatáskor egy XPath adatkötési kifejezést használ a csomópontok listájának visszaadásához az IXmlNamespaceResolver XPath-kifejezés névtérelőtagjainak feloldásához megadott objektummal.

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

Paraméterek

container
Object

Az IXPathNavigable objektumhivatkozás, amely alapján a kifejezés kiértékelése történik. Ennek érvényes objektumazonosítónak kell lennie a lap megadott nyelvén.

xPath
String

A csomópontok listáját lekérő XPath-lekérdezés.

resolver
IXmlNamespaceResolver

Az IXmlNamespaceResolver XPath-kifejezés névtér-előtagjainak feloldására használt objektum.

Válaszok

Csomópontok IEnumerable listája.

Megjegyzések

A metódust deklaratív módon is használhatja Select , ha egy csomópontkészlet lekérését szeretné egyszerűsíteni egy XPath-lekérdezés használatával. Ehhez el kell helyeznie a <%# és %> címkéket, amelyeket a standard ASP.NET adatkötésben is használnak, az XPath-lekérdezés és egy IXmlNamespaceResolver objektum köré a névtérhivatkozás feloldásához.

A lista ASP.NET kiszolgálóvezérlők ( például DataList, DataGrid vagy Repeater) esetében a container paraméternek Container.DataItem kell lennie.

A következőre érvényes: