XPathBinder.Select Metoda

Definice

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

IEnumerable

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.DataItemparametr .

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

IEnumerable

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.DataItemparametr .

Platí pro