Sdílet prostřednictvím


XPathBinder.Select Metoda

Definice

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 .

Platí pro