다음을 통해 공유


XPathBinder.Select 메서드

정의

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

오버로드

Select(Object, String)

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

Select(Object, String, IXmlNamespaceResolver)

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

설명

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

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

노드의 IEnumerable 목록입니다.

예외

container 또는 xpath 매개 변수가 null인 경우

container로 지정된 개체는 IXPathNavigable이 아닙니다.

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

예제

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

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

  • 데이터가 포함 된 XML 파일입니다.

예제의 첫 번째 부분을 통해 액세스 하는 XML 데이터를 표시 하는 Web Forms 페이지를 보여 줍니다.는 XmlDataSource 제어 합니다. 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>

두 번째 예제 Order.xml 위에 정의 된 Web Forms 페이지에 표시 되는 데이터의 원본으로 사용 되는 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>  

설명

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

목록 ASP.NET 서버 컨트롤에 대 한 같은 DataList, DataGrid, 또는 Repeatercontainer 매개 변수 이어야 합니다 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

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

반환

IEnumerable

노드의 IEnumerable 목록입니다.

설명

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

목록 ASP.NET 서버 컨트롤에 대 한 같은 DataList, DataGrid, 또는 Repeatercontainer 매개 변수 이어야 합니다 Container.DataItem합니다.

적용 대상