XPathBinder.Select Metoda
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Používá výraz datové vazby XPath za běhu k vrácení seznamu uzlů.
Přetížení
| Name | Description |
|---|---|
| Select(Object, String) |
Používá výraz datové vazby XPath za běhu k vrácení seznamu uzlů. |
| Select(Object, String, IXmlNamespaceResolver) |
Pomocí výrazu datové vazby XPath za běhu vrátí seznam uzlů pomocí objektu určeného IXmlNamespaceResolver k překladu předpon oboru názvů ve výrazu XPath. |
Poznámky
Přetíženou Select metodu můžete použít deklarativní, pokud chcete zjednodušit načítání sady uzlů pomocí dotazu XPath. K tomu je nutné umístit značky <%# a %> , které se používají také ve standardní ASP.NET datové vazbě kolem dotazu XPath.
Select(Object, String)
Používá výraz datové vazby XPath za běhu k vrácení seznamu uzlů.
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
Parametry
- container
- Object
Odkaz IXPathNavigable na objekt, proti kterému je výraz vyhodnocen. Musí to být platný identifikátor objektu v zadaném jazyce stránky.
- xPath
- String
Dotaz XPath, který načte seznam uzlů.
Návraty
Seznamuzlůchch IEnumerable
Výjimky
Parametr container je xpathnull.
Objekt určený container není IXPathNavigable.
Aktuální uzel XPathNodeIterator nemá přidružený uzel XML.
Příklady
Následující příklad kódu ukazuje, jak použít XmlDataSource ovládací prvek se šablonou Repeater ovládacího prvku k zobrazení dat XML. Tento příklad má dvě části:
Stránka webových formulářů, která zobrazuje data XML.
Soubor XML, který obsahuje data.
První část příkladu ukazuje stránku webových formulářů, která zobrazuje data XML přístupná prostřednictvím XmlDataSource ovládacího prvku. Ovládací Repeater prvek používá zjednodušenou Eval(Object, String) syntaxi metody k vytvoření vazby k datovým položkám v dokumentu XML, který XmlDataSource představuje. Používá metodu Select(Object, String) k načtení IEnumerable seznamu a přiřazení jako pozdně vázané DataSource vlastnosti Repeater ovládacího prvku.
<%@ 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>
Druhý příklad poskytuje soubor XML, Order.xml, který se používá jako zdroj dat zobrazených na stránce Webové formuláře definované výše.
<?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>
Poznámky
Metodu Select(Object, String) můžete použít deklarativní, pokud chcete zjednodušit načítání sady uzlů pomocí dotazu XPath. K tomu je nutné umístit značky <%# a %> , které se používají také ve standardní ASP.NET datové vazbě kolem dotazu XPath.
U některého ze seznamů ASP.NET serverových ovládacích prvků, například DataList, DataGridnebo Repeater, container by měl být Container.DataItemparametr .
Platí pro
Select(Object, String, IXmlNamespaceResolver)
Pomocí výrazu datové vazby XPath za běhu vrátí seznam uzlů pomocí objektu určeného IXmlNamespaceResolver k překladu předpon oboru názvů ve výrazu 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
Parametry
- container
- Object
Odkaz IXPathNavigable na objekt, proti kterému je výraz vyhodnocen. Musí to být platný identifikátor objektu v zadaném jazyce stránky.
- xPath
- String
Dotaz XPath, který načte seznam uzlů.
- resolver
- IXmlNamespaceResolver
Objekt IXmlNamespaceResolver použitý k překladu předpon oboru názvů ve výrazu XPath.
Návraty
Seznamuzlůchch IEnumerable
Poznámky
Metodu Select můžete použít deklarativní, pokud chcete zjednodušit načítání sady uzlů pomocí dotazu XPath. K tomu je potřeba umístit značky <%# a %> , které se používají také ve standardní ASP.NET datové vazbě, kolem dotazu XPath a IXmlNamespaceResolver objektu pro překlad odkazu na obor názvů.
U některého ze seznamů ASP.NET serverových ovládacích prvků, například DataList, DataGridnebo Repeater, container by měl být Container.DataItemparametr .