Bagikan melalui


XPathBinder.Select Metode

Definisi

Menggunakan ekspresi pengikatan data XPath pada waktu proses untuk mengembalikan daftar simpul.

Overload

Nama Deskripsi
Select(Object, String)

Menggunakan ekspresi pengikatan data XPath pada waktu proses untuk mengembalikan daftar simpul.

Select(Object, String, IXmlNamespaceResolver)

Menggunakan ekspresi pengikatan data XPath pada waktu proses untuk mengembalikan daftar simpul, menggunakan IXmlNamespaceResolver objek yang ditentukan untuk mengatasi awalan namespace layanan dalam ekspresi XPath.

Keterangan

Anda dapat menggunakan metode kelebihan Select beban secara deklaratif jika Anda ingin menyederhanakan pengambilan sekumpulan simpul menggunakan kueri XPath. Untuk melakukannya, Anda harus menempatkan < tag%# dan %> , yang juga digunakan dalam pengikatan data ASP.NET standar, di sekitar kueri XPath.

Select(Object, String)

Menggunakan ekspresi pengikatan data XPath pada waktu proses untuk mengembalikan daftar simpul.

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

Parameter

container
Object

Referensi IXPathNavigable objek yang dievaluasi ekspresinya. Ini harus menjadi pengidentifikasi objek yang valid dalam bahasa yang ditentukan halaman.

xPath
String

Kueri XPath yang mengambil daftar simpul.

Mengembalikan

Daftar IEnumerable simpul.

Pengecualian

Parameter container atau xpath adalah null.

Objek yang ditentukan oleh container bukan .IXPathNavigable

Simpul XPathNodeIterator saat ini tidak memiliki simpul XML terkait.

Contoh

Contoh kode berikut menunjukkan cara menggunakan XmlDataSource kontrol dengan kontrol templat Repeater untuk menampilkan data XML. Contoh ini memiliki dua bagian:

  • Halaman Formulir Web yang menampilkan data XML.

  • File XML yang berisi data.

Bagian pertama dari contoh memperlihatkan halaman Formulir Web yang menampilkan data XML yang diakses melalui XmlDataSource kontrol. Repeater Kontrol menggunakan sintaks metode yang disederhanakan Eval(Object, String) untuk mengikat item data dalam dokumen XML yang diwakiliXmlDataSource. Ini menggunakan Select(Object, String) metode untuk mengambil IEnumerable daftar dan menetapkannya sebagai properti yang terlambat terikat DataSource untuk Repeater kontrol.

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

Contoh kedua menyediakan file XML, Order.xml, yang digunakan sebagai sumber data yang ditampilkan di halaman Formulir Web yang ditentukan di atas.

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

Keterangan

Anda dapat menggunakan Select(Object, String) metode secara deklaratif jika Anda ingin menyederhanakan pengambilan sekumpulan simpul menggunakan kueri XPath. Untuk melakukannya, Anda harus menempatkan < tag%# dan %> , yang juga digunakan dalam pengikatan data ASP.NET standar, di sekitar kueri XPath.

Untuk salah satu daftar ASP.NET kontrol server, seperti DataList, , DataGridatau Repeater, container parameternya harus Container.DataItem.

Berlaku untuk

Select(Object, String, IXmlNamespaceResolver)

Menggunakan ekspresi pengikatan data XPath pada waktu proses untuk mengembalikan daftar simpul, menggunakan IXmlNamespaceResolver objek yang ditentukan untuk mengatasi awalan namespace layanan dalam ekspresi 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

Parameter

container
Object

Referensi IXPathNavigable objek yang dievaluasi ekspresinya. Ini harus menjadi pengidentifikasi objek yang valid dalam bahasa yang ditentukan halaman.

xPath
String

Kueri XPath yang mengambil daftar simpul.

resolver
IXmlNamespaceResolver

Objek yang IXmlNamespaceResolver digunakan untuk mengatasi awalan namespace dalam ekspresi XPath.

Mengembalikan

Daftar IEnumerable simpul.

Keterangan

Anda dapat menggunakan Select metode secara deklaratif jika Anda ingin menyederhanakan pengambilan sekumpulan simpul menggunakan kueri XPath. Untuk melakukannya, Anda harus menempatkan < tag%# dan %> , yang juga digunakan dalam pengikatan data ASP.NET standar, di sekitar kueri XPath dan IXmlNamespaceResolver objek untuk menyelesaikan referensi namespace.

Untuk salah satu daftar ASP.NET kontrol server, seperti DataList, , DataGridatau Repeater, container parameternya harus Container.DataItem.

Berlaku untuk