XPathBinder.Select Método
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Usa uma expressão de associação de dados XPath no tempo de execução para retornar uma lista de nós.
Sobrecargas
Select(Object, String) |
Usa uma expressão de associação de dados XPath no 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 no tempo de execução para retornar uma lista de nós, usando o objeto IXmlNamespaceResolver especificado para resolver os 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 no 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 referência de objeto IXPathNavigable na qual a expressão é avaliada. Este valor 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 lista IEnumerable de nós.
Exceções
O parâmetro container
ou xpath
é null
.
O objeto especificado pelo container
não é um IXPathNavigable.
O nó atual do XPathNodeIterator 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 Web Forms que exibe dados XML.
Um arquivo XML que contém os dados.
A primeira parte do exemplo mostra um Web Forms página que exibe dados XML acessados por meio de um XmlDataSource controle. Um Repeater controle usa a sintaxe de método simplificado Eval(Object, String) para associar a itens de dados dentro do documento XML que o XmlDataSource representa. Ele usa o Select(Object, String) método para recuperar uma IEnumerable lista e atribuí-la como uma propriedade com limite DataSource tardio 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 origem dos dados exibidos na página 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 no tempo de execução para retornar uma lista de nós, usando o objeto IXmlNamespaceResolver especificado para resolver os 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 referência de objeto IXPathNavigable na qual a expressão é avaliada. Este valor 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 objeto IXmlNamespaceResolver usado para resolver os prefixos de namespace na expressão XPath.
Retornos
Uma lista IEnumerable 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 de ASP.NET padrão, em torno da consulta XPath e de um IXmlNamespaceResolver objeto para resolver a referência de namespace.
Para qualquer uma das listas ASP.NET controles de servidor, como DataList, DataGridou Repeater, o container
parâmetro deve ser Container.DataItem
.