XPathBinder.Select Méthode
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
Utilise une expression de liaison de données XPath au moment de l'exécution pour retourner une liste de nœuds.
Surcharges
Select(Object, String) |
Utilise une expression de liaison de données XPath au moment de l'exécution pour retourner une liste de nœuds. |
Select(Object, String, IXmlNamespaceResolver) |
Utilise une expression de liaison de données XPath au moment de l'exécution pour retourner une liste de nœuds, en utilisant l'objet IXmlNamespaceResolver spécifié pour résoudre des préfixes d'espace de noms dans l'expression XPath. |
Remarques
Vous pouvez utiliser la méthode surchargée Select de manière déclarative si vous souhaitez simplifier la récupération d’un ensemble de nœuds à l’aide d’une requête XPath. Pour ce faire, vous devez placer les <%# and %> balises, qui sont également utilisées dans la liaison de données standard ASP.NET, autour de la requête XPath.
Select(Object, String)
Utilise une expression de liaison de données XPath au moment de l'exécution pour retourner une liste de nœuds.
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
Paramètres
- container
- Object
Référence de l'objet IXPathNavigable par rapport à laquelle l'expression est évaluée. Il doit s'agir d'un identificateur d'objet valide dans la langue spécifiée de la page.
- xPath
- String
Requête XPath qui récupère une liste de nœuds.
Retours
Liste de nœuds IEnumerable.
Exceptions
Le paramètre container
ou xpath
est null
.
L'objet spécifié par container
n'est pas un objet IXPathNavigable.
Le nœud actuel du XPathNodeIterator n'a pas de nœud XML associé.
Exemples
L’exemple de code suivant montre comment utiliser un XmlDataSource contrôle avec un contrôle modèle Repeater pour afficher des données XML. Cet exemple comporte deux parties :
Page Web Forms qui affiche les données XML.
Fichier XML qui contient les données.
La première partie de l’exemple montre une page Web Forms qui affiche les données XML accessibles via un XmlDataSource contrôle. Un Repeater contrôle utilise la syntaxe de méthode simplifiée Eval(Object, String) pour lier des éléments de données au sein du document XML que représente XmlDataSource . Il utilise la Select(Object, String) méthode pour récupérer une IEnumerable liste et l’affecter en tant que propriété liée DataSource tardivement au Repeater contrôle.
<%@ 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>
Le deuxième exemple fournit le fichier XML, Order.xml, utilisé comme source des données affichées dans la page Web Forms définie ci-dessus.
<?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>
Remarques
Vous pouvez utiliser la Select(Object, String) méthode de manière déclarative si vous souhaitez simplifier la récupération d’un ensemble de nœuds à l’aide d’une requête XPath. Pour ce faire, vous devez placer les <%# and %> balises, qui sont également utilisées dans la liaison de données standard ASP.NET, autour de la requête XPath.
Pour l’un des contrôles serveur de liste ASP.NET, tels que DataList, DataGridou Repeater, le container
paramètre doit être Container.DataItem
.
S’applique à
Select(Object, String, IXmlNamespaceResolver)
Utilise une expression de liaison de données XPath au moment de l'exécution pour retourner une liste de nœuds, en utilisant l'objet IXmlNamespaceResolver spécifié pour résoudre des préfixes d'espace de noms dans l'expression 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
Paramètres
- container
- Object
Référence de l'objet IXPathNavigable par rapport à laquelle l'expression est évaluée. Il doit s'agir d'un identificateur d'objet valide dans la langue spécifiée de la page.
- xPath
- String
Requête XPath qui récupère une liste de nœuds.
- resolver
- IXmlNamespaceResolver
Objet IXmlNamespaceResolver permettant de trouver les préfixes d’espace de noms dans l’expression XPath.
Retours
Liste de nœuds IEnumerable.
Remarques
Vous pouvez utiliser la Select méthode de manière déclarative si vous souhaitez simplifier la récupération d’un ensemble de nœuds à l’aide d’une requête XPath. Pour ce faire, vous devez placer les <%# and %> balises, qui sont également utilisées dans la liaison de données standard ASP.NET, autour de la requête XPath et d’un IXmlNamespaceResolver objet pour résoudre la référence d’espace de noms.
Pour l’une des listes ASP.NET contrôles serveur, tels que DataList, DataGridou Repeater, le container
paramètre doit être Container.DataItem
.