Compartilhar via


XPathBinder.Select Método

Definição

Usa uma expressão de associação de dados XPath em tempo de execução para retornar uma lista de nós.

Sobrecargas

Nome Description
Select(Object, String)

Usa uma expressão de associação de dados XPath em tempo de execução para retornar uma lista de nós.

Select(Object, String, IXmlNamespaceResolver)

Usa uma expressão de associação de dados XPath em tempo de execução para retornar uma lista de nós, usando o IXmlNamespaceResolver objeto especificado para resolver prefixos de namespace na expressão XPath.

Comentários

Você pode usar o método sobrecarregado Select declarativamente se quiser simplificar a recuperação de um conjunto de nós usando uma consulta XPath. Para fazer isso, você deve colocar as < marcas%# e %> , que também são usadas na associação de dados de ASP.NET padrão, em torno da consulta XPath.

Select(Object, String)

Usa uma expressão de associação de dados XPath em tempo de execução para retornar uma lista de nós.

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

Parâmetros

container
Object

A IXPathNavigable referência de objeto na qual a expressão é avaliada. Esse deve ser um identificador de objeto válido no idioma especificado da página.

xPath
String

A consulta XPath que recupera uma lista de nós.

Retornos

Uma IEnumerable lista de nós.

Exceções

O container parâmetro ou xpath o parâmetro é null.

O objeto especificado por container não é um IXPathNavigable.

O nó atual do XPathNodeIterator nó XML não tem um nó XML associado.

Exemplos

O exemplo de código a seguir demonstra como usar um XmlDataSource controle com um controle modelo Repeater para exibir dados XML. Este exemplo tem duas partes:

  • Uma página do Web Forms que exibe dados XML.

  • Um arquivo XML que contém os dados.

A primeira parte do exemplo mostra uma página dos Web Forms que exibe dados XML acessados por meio de um XmlDataSource controle. Um Repeater controle usa a sintaxe do método simplificado Eval(Object, String) para associar a itens de dados dentro do documento XML que ele XmlDataSource representa. Ele usa o Select(Object, String) método para recuperar uma IEnumerable lista e atribuí-la como uma propriedade de associação DataSource tardia para o Repeater controle.

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

O segundo exemplo fornece o arquivo XML, Order.xml, que é usado como a fonte dos dados exibidos na página dos Web Forms definida acima.

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

Comentários

Você pode usar o Select(Object, String) método declarativamente se quiser simplificar a recuperação de um conjunto de nós usando uma consulta XPath. Para fazer isso, você deve colocar as < marcas%# e %> , que também são usadas na associação de dados de ASP.NET padrão, em torno da consulta XPath.

Para qualquer uma das listas ASP.NET controles de servidor, como DataList, DataGridou Repeater, o container parâmetro deve ser Container.DataItem.

Aplica-se a

Select(Object, String, IXmlNamespaceResolver)

Usa uma expressão de associação de dados XPath em tempo de execução para retornar uma lista de nós, usando o IXmlNamespaceResolver objeto especificado para resolver prefixos de namespace na expressão 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

Parâmetros

container
Object

A IXPathNavigable referência de objeto na qual a expressão é avaliada. Esse deve ser um identificador de objeto válido no idioma especificado da página.

xPath
String

A consulta XPath que recupera uma lista de nós.

resolver
IXmlNamespaceResolver

O IXmlNamespaceResolver objeto usado para resolver prefixos de namespace na expressão XPath.

Retornos

Uma IEnumerable lista de nós.

Comentários

Você pode usar o Select método declarativamente se quiser simplificar a recuperação de um conjunto de nós usando uma consulta XPath. Para fazer isso, você deve colocar as < marcas%# e %> , que também são usadas na associação de dados ASP.NET padrão, em torno da consulta XPath e de um IXmlNamespaceResolver objeto para resolver a referência do namespace.

Para qualquer uma das listas ASP.NET controles de servidor, como DataList, DataGridou Repeater, o container parâmetro deve ser Container.DataItem.

Aplica-se a