次の方法で共有


XPathExpression.AddSort メソッド (Object, IComparer)

XPathExpression によって選択されたノードを IComparer インターフェイスに従って並べ替えます。

Overloads Public MustOverride Sub AddSort( _
   ByVal expr As Object, _   ByVal comparer As IComparer _)
[C#]
public abstract void AddSort(objectexpr,IComparercomparer);
[C++]
public: virtual void AddSort(Object* expr,IComparer* comparer) = 0;
[JScript]
public abstract function AddSort(
   expr : Object,comparer : IComparer);

パラメータ

  • expr
    並べ替えキーを表す式。これは、文字列または XPathExpression オブジェクトである場合もあります。この式の結果は、比較のため XPath 仕様に準拠した文字列に変換されます。XSLT スタイルシートで、xsl:sort が使用されていて、選択式が指定されていない場合は、string(.) が既定で使用されます。
  • comparer
    データ型の比較に使用するため、 IComparer インターフェイスから派生したクラス。

例外

例外の種類 条件
XPathException XPathExpression または並べ替えキーにプリフィックスが含まれ、 XmlNamepsaceManager が提供されていないか、プリフィックスが提供された XmlNamepsaceManager で見つかりません。

解説

このメソッドを使用すると、ユーザーは、文字列や数値ではなく、データ型ごとにオブジェクトを並べ替えることができます。 IComparer インターフェイスは、ユーザー定義のクラスでの並べ替えをサポートする Compare メソッドの実装を提供します。

書籍を ISBN 番号順に並べ替える例を次に示します。ここで isbnIComparer インターフェイスを実装するオブジェクトです。

XPathExpression expr = nav.Compile("bookstore/book");
ISBN isbn = new ISBN();
expr.AddSort("@ISBN", (IComparer)isbn);

並べ替えを追加する順序は、並べ替えキー順序を示します。

XPathExpression または並べ替えキーで名前空間の解決が必要な場合は、 SetContext メソッドを使用して、名前空間の解決の XmlNamespaceManager を提供する必要があります。

メモ   XPathExpression にプリフィックスが含まれていない場合、名前空間 URI は、空の名前空間であると見なされます。XML に既定の名前空間が含まれている場合は、 SetContext メソッドを使用し、プリフィックスと名前空間 URI を含んでいる XmlNamespaceManager を提供して、既定の名前空間を処理する必要があります。

必要条件

プラットフォーム: Windows 98, Windows NT 4.0, Windows Millennium Edition, Windows 2000, Windows XP Home Edition, Windows XP Professional, Windows Server 2003 ファミリ

参照

XPathExpression クラス | XPathExpression メンバ | System.Xml.XPath 名前空間 | XPathExpression.AddSort オーバーロードの一覧