다음을 통해 공유


XPathBinder.Select 메서드

정의

런타임에 XPath 데이터 바인딩 식을 사용하여 노드 목록을 반환합니다.

오버로드

Name Description
Select(Object, String)

런타임에 XPath 데이터 바인딩 식을 사용하여 노드 목록을 반환합니다.

Select(Object, String, IXmlNamespaceResolver)

런타임에 XPath 데이터 바인딩 식을 사용하여 지정된 개체를 사용하여 IXmlNamespaceResolver XPath 식의 네임스페이스 접두사를 확인하여 노드 목록을 반환합니다.

설명

XPath 쿼리를 사용하여 노드 집합의 검색을 간소화하려는 경우 오버로드된 Select 메서드를 선언적으로 사용할 수 있습니다. 이렇게 하려면 표준 ASP.NET 데이터 바인딩에도 사용되는%> # 및 %태그를 XPath 쿼리 주위에 배치 < 해야 합니다.

Select(Object, String)

런타임에 XPath 데이터 바인딩 식을 사용하여 노드 목록을 반환합니다.

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

매개 변수

container
Object

IXPathNavigable 이 평가되는 개체 참조입니다. 페이지의 지정된 언어에서 유효한 개체 식별자여야 합니다.

xPath
String

노드 목록을 검색하는 XPath 쿼리입니다.

반환

IEnumerable 노드 목록입니다.

예외

container 또는 xpath 매개 변수가 .입니다null.

지정한 container 개체가 .이 IXPathNavigable아닌 경우

현재 노드에 XPathNodeIterator 연결된 XML 노드가 없습니다.

예제

다음 코드 예제에서는 템플릿으로 된 Repeater 컨트롤을 XmlDataSource 사용 하 여 XML 데이터를 표시 하는 방법을 보여 줍니다. 이 예제에는 다음 두 부분이 있습니다.

  • XML 데이터를 표시하는 Web Forms 페이지입니다.

  • 데이터를 포함하는 XML 파일입니다.

예제의 첫 번째 부분에서는 컨트롤을 통해 XmlDataSource 액세스된 XML 데이터를 표시하는 Web Forms 페이지를 보여 줍니다. Repeater 컨트롤은 단순화된 Eval(Object, String) 메서드 구문을 사용하여 나타내는 XML 문서 내의 데이터 항목에 XmlDataSource 바인딩합니다. 이 메서드를 Select(Object, String) 사용하여 목록을 검색 IEnumerable 하고 컨트롤에 대한 런타임에 바인딩된 DataSource 속성으로 할당합니다 Repeater .

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

두 번째 예제에서는 위에서 정의한 Web Forms 페이지에 표시된 데이터의 원본으로 사용되는 XML 파일(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>

설명

XPath 쿼리를 Select(Object, String) 사용하여 노드 집합의 검색을 간소화하려는 경우 메서드를 선언적으로 사용할 수 있습니다. 이렇게 하려면 표준 ASP.NET 데이터 바인딩에도 사용되는%> # 및 %태그를 XPath 쿼리 주위에 배치 < 해야 합니다.

서버 컨트롤DataListDataGrid을 ASP.NET 목록의 경우 , 또는 Repeater매개 변수가 container 있어야 Container.DataItem합니다.

적용 대상

Select(Object, String, IXmlNamespaceResolver)

런타임에 XPath 데이터 바인딩 식을 사용하여 지정된 개체를 사용하여 IXmlNamespaceResolver 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

매개 변수

container
Object

IXPathNavigable 이 평가되는 개체 참조입니다. 페이지의 지정된 언어에서 유효한 개체 식별자여야 합니다.

xPath
String

노드 목록을 검색하는 XPath 쿼리입니다.

resolver
IXmlNamespaceResolver

IXmlNamespaceResolver XPath 식에서 네임스페이스 접두사를 확인하는 데 사용되는 개체입니다.

반환

IEnumerable 노드 목록입니다.

설명

XPath 쿼리를 Select 사용하여 노드 집합의 검색을 간소화하려는 경우 메서드를 선언적으로 사용할 수 있습니다. 이렇게 하려면 표준 ASP.NET 데이터 바인딩에도 사용되는%> # 및 %태그를 XPath 쿼리와 IXmlNamespaceResolver 개체 주위에 배치 < 하여 네임스페이스 참조를 확인해야 합니다.

서버 컨트롤DataListDataGrid을 ASP.NET 목록의 경우 , 또는 Repeater매개 변수가 container 있어야 Container.DataItem합니다.

적용 대상