Поделиться через


XPathBinder.Select Метод

Определение

Использует выражение XPath привязки данных в период выполнения для возврата списка узлов.

Перегрузки

Select(Object, String)

Использует выражение XPath привязки данных в период выполнения для возврата списка узлов.

Select(Object, String, IXmlNamespaceResolver)

Вычисляет выражения XPath привязки данных в период выполнения для возврата списка узлов, используя объект IXmlNamespaceResolver, заданный для разрешения префиксов пространства имен в выражении XPath.

Комментарии

Перегруженный Select метод можно использовать декларативно, если требуется упростить получение набора узлов с помощью запроса XPath. Для этого необходимо поместить <теги %# и %> , которые также используются в стандартной привязке данных 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 или параметра xpathnull.

Объект, заданный container, не является объектом IXPathNavigable.

У текущего узла XPathNodeIterator нет ассоциированного узла XML.

Примеры

В следующем примере кода показано, как использовать XmlDataSource элемент управления с шаблонным Repeater элементом управления для отображения XML-данных. Этот пример состоит из двух частей:

  • Страница веб-формы, на котором отображаются XML-данные.

  • XML-файл, содержащий данные.

В первой части примера показана страница веб-формы, на котором отображаются XML-данные, к которым осуществляется доступ через XmlDataSource элемент управления . Элемент Repeater управления использует упрощенный Eval(Object, String) синтаксис метода для привязки к элементам данных в XML-документе XmlDataSource , который представляет . Он использует метод для Select(Object, String) получения IEnumerable списка и назначения его в качестве свойства с поздней привязкой DataSourceRepeater для элемента управления .

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

Во втором примере представлен 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>  

Комментарии

Метод можно использовать Select(Object, String) декларативно, если требуется упростить получение набора узлов с помощью запроса XPath. Для этого необходимо поместить <теги %# и %> , которые также используются в стандартной привязке данных ASP.NET, вокруг запроса XPath.

Для любого списка ASP.NET серверных элементов управления, таких как DataList, DataGridили 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 узлов.

Комментарии

Метод можно использовать Select декларативно, если требуется упростить получение набора узлов с помощью запроса XPath. Для этого необходимо разместить <теги %# и %> , которые также используются в стандартной привязке данных ASP.NET, вокруг запроса XPath и IXmlNamespaceResolver объекта для разрешения ссылки на пространство имен.

Для любого списка ASP.NET серверных элементов управления, таких как DataList, DataGridили Repeater, container параметр должен иметь значение Container.DataItem.

Применяется к