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í
Select(Object, String) |
Používá výraz datové vazby XPath za běhu k vrácení seznamu uzlů. |
Select(Object, String, IXmlNamespaceResolver) |
Používá výraz datové vazby XPath za běhu k vrácení seznamu 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 potřeba umístit <%# and %> značky, které se používají také ve standardní datové vazbě ASP.NET 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, na který je výraz vyhodnocen. Musí se jednat o platný identifikátor objektu v zadaném jazyce stránky.
- xPath
- String
Dotaz XPath, který načte seznam uzlů.
Návraty
Seznam IEnumerable uzlů.
Výjimky
Parametr container
nebo xpath
parametr je null
.
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 Web Forms, která zobrazuje data XML.
Soubor XML, který obsahuje data.
První část příkladu ukazuje stránku Web Forms, která zobrazuje data XML, ke kterým se přistupuje 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 opožděné 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 Web Forms stránce 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 potřeba umístit <%# and %> značky, které se používají také ve standardní datové vazbě ASP.NET 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.DataItem
parametr .
Platí pro
Select(Object, String, IXmlNamespaceResolver)
Používá výraz datové vazby XPath za běhu k vrácení seznamu 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, na který je výraz vyhodnocen. Musí se jednat o 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
Seznam IEnumerable uzlů.
Poznámky
Metodu Select můžete použít deklarativní, pokud chcete zjednodušit načítání sady uzlů pomocí dotazu XPath. K tomu je nutné umístit <%# and %> značky, 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.DataItem
parametr .