XPathBinder XPathBinder XPathBinder XPathBinder Class

定義

RAD (Rapid Application Development) デザイナーで、XPath 式を使用したデータ バインディング式を解析できるようにします。Provides support for rapid application development (RAD) designers to parse data-binding expressions that use XPath expressions. このクラスは継承できません。This class cannot be inherited.

public ref class XPathBinder sealed
public sealed class XPathBinder
type XPathBinder = class
Public NotInheritable Class XPathBinder
継承
XPathBinderXPathBinderXPathBinderXPathBinder

次のコード例では、 XmlDataSourceコントロールとテンプレートRepeater化されたコントロールを使用して XML データを表示する方法を示します。The following code example demonstrates how to use an XmlDataSource control with a templated Repeater control to display XML data. この例には、次の2つの部分があります。This example has two parts:

  • XML データを表示する Web フォームページ。A Web Forms page that displays XML data.

  • データを含む XML ファイル。An XML file that contains the data.

この例の最初の部分では、 XmlDataSourceコントロールを介してアクセスされる XML データを表示する Web フォームページを示します。The first part of the example shows a Web Forms page that displays XML data accessed through an XmlDataSource control. コントロールRepeaterでは、 Eval(Object, String)が表す XML ドキュメント内のデータ項目にバインドするためにXmlDataSource 、簡略化されたメソッド構文を使用します。A Repeater control uses simplified Eval(Object, String) method syntax to bind to data items within the XML document that the XmlDataSource represents. Select(Object, String)メソッドを使用してIEnumerableリストを取得し、それをRepeaterコントロールの遅延バインディングDataSourceプロパティとして割り当てます。It uses the Select(Object, String) method to retrieve an IEnumerable list and assign it as a late-bound DataSource property for the Repeater control.

<%@ 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>

2番目の例では、上記で定義されている Web フォームページに表示されるデータのソースとして使用される XML ファイル (.xml) を指定します。The second example provides the XML file, Order.xml, that is used as the source of the data displayed in the Web Forms page defined above.

<?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>  

注釈

このクラスのオーバーロードEvalされたメソッドを使用して、などのIXPathNavigable XmlNodeインターフェイスを実装するオブジェクトに対して実行される XPath 式の結果にバインドできます。You can use the overloaded Eval method of this class to bind to the result of an XPath expression executed against an object that implements the IXPathNavigable interface, such as an XmlNode. Selectメソッドを使用すると、 IXPathNavigableオブジェクトに対して実行される XPath 式の結果をノードIEnumerableのリストとして取得できます。You can use the Select method to retrieve the results of an XPath expression executed against an IXPathNavigable object as an IEnumerable list of nodes. このノードの一覧は、直接列挙することも、 DataSource RepeaterまたはDataListなどのリストコントロールのプロパティに割り当てることもできます。This list of nodes can be enumerated directly or assigned to the DataSource property of a list control, such as a Repeater or DataList.

XPathBinderメソッドを宣言によって使用する場合は、簡略化されたバージョンのデータバインディング構文を使用できます。You can use a simplified version of data-binding syntax when using the XPathBinder methods declaratively. (Container.DataItem,) XPathBinder.Evalを呼び出すxpath代わりに、( XPath``xpath) を使用できます。Instead of calling XPathBinder.Eval(Container.DataItem, xpath) you can use XPath(xpath). 同様にXPathBinder.Select、(Container.DataItem,xpath) を呼び出す代わりに、 XPathSelect(xpath) を使用しIEnumerableてノードのセットを取得することもできます。Similarly, instead of calling XPathBinder.Select(Container.DataItem,xpath), you can use XPathSelect(xpath) to retrieve an IEnumerable set of nodes. この簡略化された構文をEval使用Selectする場合、メソッドContainer.DataItemとメソッドは既定のコンテキストオブジェクトを想定します。When using this simplified syntax, the Eval and Select methods assume a default Container.DataItem context object.

ASP.NET サーバーコントロールへのデータバインディングの詳細については、「データバインディング式の構文」を参照してください。For more information about data binding to ASP.NET server controls, see Data-Binding Expression Syntax.

メソッド

Equals(Object) Equals(Object) Equals(Object) Equals(Object)

指定したオブジェクトが、現在のオブジェクトと等しいかどうかを判断します。Determines whether the specified object is equal to the current object.

(Inherited from Object)
Eval(Object, String) Eval(Object, String) Eval(Object, String) Eval(Object, String)

実行時に XPath データ バインディング式を評価します。Evaluates XPath data-binding expressions at run time.

Eval(Object, String, IXmlNamespaceResolver) Eval(Object, String, IXmlNamespaceResolver) Eval(Object, String, IXmlNamespaceResolver) Eval(Object, String, IXmlNamespaceResolver)

XPath 式の名前空間プレフィックスを解決するために指定される IXmlNamespaceResolver オブジェクトを使用して、実行時に XPath データ バインディング式を評価し、結果を要求側のブラウザーに表示されるテキストとして書式設定します。Evaluates XPath data-binding expressions at run time and formats the result as text to be displayed in the requesting browser, using the IXmlNamespaceResolver object specified to resolve namespace prefixes in the XPath expression.

Eval(Object, String, String) Eval(Object, String, String) Eval(Object, String, String) Eval(Object, String, String)

実行時に XPath データ バインディング式を評価し、結果を要求側のブラウザーに表示されるテキストとして書式設定します。Evaluates XPath data-binding expressions at run time and formats the result as text to be displayed in the requesting browser.

Eval(Object, String, String, IXmlNamespaceResolver) Eval(Object, String, String, IXmlNamespaceResolver) Eval(Object, String, String, IXmlNamespaceResolver) Eval(Object, String, String, IXmlNamespaceResolver)

XPath 式の名前空間プレフィックスを解決するために指定される IXmlNamespaceResolver オブジェクトを使用して、実行時に XPath データ バインディング式を評価し、結果を要求側のブラウザーに表示されるテキストとして書式設定します。Evaluates XPath data-binding expressions at run time and formats the result as text to be displayed in the requesting browser, using the IXmlNamespaceResolver object specified to resolve namespace prefixes in the XPath expression.

GetHashCode() GetHashCode() GetHashCode() GetHashCode()

既定のハッシュ関数として機能します。Serves as the default hash function.

(Inherited from Object)
GetType() GetType() GetType() GetType()

現在のインスタンスの Type を取得します。Gets the Type of the current instance.

(Inherited from Object)
MemberwiseClone() MemberwiseClone() MemberwiseClone() MemberwiseClone()

現在の Object の簡易コピーを作成します。Creates a shallow copy of the current Object.

(Inherited from Object)
Select(Object, String) Select(Object, String) Select(Object, String) Select(Object, String)

実行時に XPath データ バインディング式を使用してノードのリストを返します。Uses an XPath data-binding expression at run time to return a list of nodes.

Select(Object, String, IXmlNamespaceResolver) Select(Object, String, IXmlNamespaceResolver) Select(Object, String, IXmlNamespaceResolver) Select(Object, String, IXmlNamespaceResolver)

XPath 式の名前空間プレフィックスを解決するために指定される IXmlNamespaceResolver オブジェクトを使用し、実行時に XPath データ バインディング式を使用してノードのリストを返します。Uses an XPath data-binding expression at run time to return a list of nodes, using the IXmlNamespaceResolver object specified to resolve namespace prefixes in the XPath expression.

ToString() ToString() ToString() ToString()

現在のオブジェクトを表す文字列を返します。Returns a string that represents the current object.

(Inherited from Object)

適用対象